转载自【秘术安全社区】,来自学员的总结
目标地址:
https://sql2.bachang.m0shu.com/
靶场导航站:
https://bbs.m0shu.com/Navigation/
某日发现靶场更新,还有源码,直接开白盒
源码Done下来,全局搜索“select”(几乎每一个SQL语句都有他)
经过一番筛选,cron.php 以代码量最少,逻辑简单脱颖而出
二话不说,开审
审计结果以图片形式提供了,三言两语不如一张图具体
现在我们知道传参是一个经过 AES加密后的Json字符串,接下来我们手工测试一下
先赌目标站没改源码参数
echo FANWE_AES_KEY."<br>"; AES密钥
echo FANWE_APP_ID."<br>"; Key
Json格式:
{"key":"FANWE_APP_ID","type":"' or1=1 -- 1"}
编写加密代码
先空置type
Burp测试成功
带上注入参数
payload={"key":"FANWE_APP_ID","type":"'or 1=1 -- 1"}
可以看到burp未响应(服务器没有返回数据)
分析源码可以发现SQL语句执行完毕后就没有后文了,这里就可以作为一个注入点
综上是一种基于时间的盲注
这里直接上SQLMap了,时间盲注手工谁试谁知道
编写SQLMap模块
跑完发现确实是时间盲注
老规矩了,先梭哈一波三件套(爆库爆表爆字段)
爆库
发现疑似管理员数据表
爆字段
发现疑似管理员账户信息
爆数据
明文就不放了,各位师傅加油!
登录后尝试传马
不出所料直接被栏,burp绕过前段照样被拦
一番审计后发现缓存机制
尝试在管理员后台控制缓存中数据
成功运行
上蚁剑!
注意!现在的连接是基于缓存机制,当真正的管理员清空缓存时,我们的 shell 也会消失,
为了达到持久化目的,我们重新上传一份到非缓存机制目录中,然后更新连接
想着直接执行shell,结果似乎有做限制(ret=127)
不要紧,我们用php运行!
红豆泥私密马赛,打扰了!
QQ群:389391578
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论