从密码重置打到Getshell和其它漏洞打包

VSole2023-07-21 10:00:36

前言:

前几天是准备上点edusrc的分的所以就准备用手上还没刷的Nday继续上分,然后就有了今天这个案例:

信息收集:

之前在挖某体育学院证书的时候就挖到过一个通过修改html文件更改密码修改步骤的漏洞

所以就准备测绘一下这个资产继续看看能不能上分

挑一个打开:

没有背景图了但还是同资产,因为在测试某体育学院的时候是有账户的,所以直接输入那个账户就能进行下一步操作了,但是这个资产无账户,所以我打算去在搜集一下学号 之类的

学号这块都是一无所获,然后正准备想其它切入点的时候就突然发现

这块的要求是输入学号后5位,而学号通常是有规律的,所以就去生成字典FUZZ了一下

Python输出从00000~99999字典的程序为:

dictionary = {}
for i in range(100000):
key = str(i).zfill(5)
value = \"Value \" + key
dictionary\[key\] = value
with open(\'dict.txt\', \'w\') as file:
for key, value in dictionary.items():
file.write(key + \'\\')

载入字典后还要设置下时间

最后成功拿到几个账户

EDUSRC不收爆破类漏洞所以这个学号不能算是漏洞,但最后学号总归是出来了

随后直接输入FUZZ出的5位学号把

https://1.test.edu.cn/passworf/find1_html

后的find1_html改为find2_html

直接输入我们要重置的密码更改成功后去登录后台:

持续浏览功能点寻找突破点:

发现一个活动添加点

不存在上传点但是存在描述功能,直接构造xss的payload试试:

alert("1)

存储XSS+1

此处的payload:alert("1)

采用大小写绕过

随后又发现一个信息上传点:

这几块点是透明没开bp,然后就打算开BP看看能不能拿到些什么突破口

点击这块的【添加简历信息】下面的标题处的第一个点

发现是个信息编辑界面但它这块是跳出个小窗口的所以前面没怎么注意到开了BP抓包时才发现这块点:

点击右侧的修改抓包后:

发现id值,直接单引号闭合查看:

浏览器端:

发现执行了sql语句

且发现是GET请求:

所以把这块的路径拉到浏览器直接访问

这样就不用担心防sqlmap表单了,且不用打包数据包更快捷了

Sqlmap成功跑出数据!

Sql注入+1

随后继续到【会员注册】处

直接在搜索处单引号闭合:

成功执行查询语句

F12调出网络又发现也是GET请求方式,复制请求URL直接查看回显

直接sqlmap跑

Sql注入+2

然后点击右上角【管理员】三个字

一开始没发现这三个字还能点击,点击后发现到了信息上传点:

这块可以上传文件先上传个php试试

提示只能上传上面列出的文件类型,正要准备想其它办法绕过的时候突然发现这块允许上传的文件类型中包括pdf,所以直接上传一个pdf-xss试试:

成功上传然后浏览器访问试试:

但浏览器提示没有文件,然后仔细看了一下文件上传回显:

这里的uploadfile/16893293978.pdf的路径是跟在了?value=参数后面的然后这块参数给完后还在后面又跟了个参数:

?file=url=uploadfile/16893293978.pdf,再回到请求包中的参数:

发现此处的有个&field=url的参数尝试把参数改成1

浏览器回显不存在"1",所以这块就明了的,参数&field=后面应该接的参数是文件上传后的路径,因为我们这块输入1,不存在1这个文件所以回显Not Found ,明了了这块所以我们那文件试试:

放包:

成功触发XSS

存储xss+2

但是这块的任务是getshell所以还是继续尝试文件上传

修改MIME信息且php5分段绕过但还是提示不能上传,传了图片马但是不能解析

这块上传应该是写死了,所以继续找其它突破口,查看参数发现存在"filename"

问题参数啊,迅速添加延时命令试试:

`sleep 7`

回显处成功延时:

命令执行成功!进一步探测:

Curl命令探测ngrok.io

成功回显!

命令执行+1,最后相对应的用命令获取shell就行

总结:整体难度适中只不过这次测试后台功能点有点多需要仔细观察测试,后台的信息收集做好了Getshell难度瞬间就变小了。

漏洞sqlmap
本作品采用《CC 协议》,转载必须注明作者和本文链接
这些工具大多数是免费开源的安全工具,只有两款是收费工具
一些重要的SQLMap命令
2023-05-04 08:55:08
从扫描SQL注入漏洞到获取数据库名字、表和列,以及获得系统访问权限,其可被用于多种目的。我们必须给SQLMap提供有效的cookie才能对登录页面的POST请求进行扫描。不过别总是保持一个较高的值,因为可能会影响结果的准确性。默认情况下值为1,最高可以设置为3。值为3时,就是最大值,包含了一些严重的SQL查询。级别指定要执行的检查或payload的数量。
以下提及的漏洞都提交到 edusrc平台进行修复 webvpn 突破 受到 en0th师傅文章 启发,对学校 webvpn 进行了一次src漏洞挖掘测试
当收到项目邀请时,白帽小哥注意到该目标在BugCrowd上已经两年多了,到目前为止已经发现了250+个漏洞,并支付了赏金奖励。GraphQL查询中的SQL注入:目标范围很大,但子域不在范围内。目标域类似target.*,因为它涵盖了广泛的 ccTLD。因此,在搜索子域或 ccTLD 域时,应确保使用组织名称进行搜索。的结果,经过过滤后,大约只有 64 个目标。
今天来分享一下我是如何用几分钟发现某个漏洞赏金的目标多个 SQL 注入漏洞的,接下来以目标域名 redacted.org 为例。
DC-3靶场实战详解
2023-02-15 10:42:44
雷神众测-杭州亚运会官方指定安全众测服务平台
环境搭建1.项目介绍:本次项目模拟渗透测试人员在授权的情况下,对目标进行渗透测试,从外网打点到内网横向渗透,最终获取整个内网权限。使用弱口令和暴力破解,没有爆破出弱口令用户。
Ahmad Yussef ,他是一名兼职的漏洞赏金猎手。当然,他也会使用Google Dorking和Shodan.io 来替代Httpx、Httprobe。如果没有发现任何错误,也不要那么着急放弃,可以考虑更改level和risk等级,如果是POST方式,则可以使用:sqlmap -u "target.com" --data "parameter=value" --method POST--random-agent--level 1--risk 1 --dbs.
id=3';对应的sql:select * from table where id=3' 这时sql语句出错,程序无法正常从数据库中查询出数据,就会抛出异常; 加and 1=1 ,URL:xxx.xxx.xxx/xxx.php?id=1' order by 3# 没有报错,说明存在3列爆出数据库:?id=-1' union select 1,group_concat,3 from information_schema.schemata#爆出数据表:?id=1' and extractvalue--+(爆字段)?
id=1' order by 3# 没有报错,说明存在3列。id=-1' union select 1,group_concat,3 from 数据库名.数据表名--+拓展一些其他函数:system_user() 系统用户名。updatexml函数:细节问题:extractvalue()基本一样,改个关键字updatexml即可,与extractvalue有个很大的区别实在末尾注入加上,如:,而extractvalue函数末尾不加1(数值)?
VSole
网络安全专家