getshell之后难忘的经历
原创: mosi 合天智汇
1前言背景是这样的,大佬moza在两台服务器搭了一道题,说是组合getshell
问过Moza大佬,说投稿前要打码。
2整理思路直接测试第二个,加了waf的那台服务器 打开链接,发现有部分源码泄露

根据源码提示,无报错,那是基于时间的延迟注入,那可以注出账号密码,一般和登陆后台结合
那先找后台,直接御剑扫目录,只发现/phpmyadmin/目录
并且还把我ip给ban了,幸亏我是校园网,无数次断开外网重连。
到这里,基本确定就是延时注入拿到phpmyadmin的账号密码,然后进行phpmyadmin的后台getshell
3测试开始后台查询语句:$sql="select* from userinfo where id =$uid";
这里id不需要绕过,直接上测试语句
1 andif(0=1,1,sleep(6))
居然直接返回,正确应该是等待6秒的。我怀疑是过滤了空格和and,用+,/**/,%230E等代替空格,大小写,双写,中间插空字符,一样不行。
去问moza大佬,说你再想想。好吧
百度一波,没找到啥有用的,哪位大佬知道的望指教
4爆破嗯,回到起点,这时我点开phpmyadmin后台页面,突然有个小想法
没有验证码的,那我可以直接爆破出账号密码,据我了解moza大佬有点懒,应该会是弱口令。
我拿出我收藏的字典,利用burpsuite的爆破模块进行爆破
字典有点大,我是以clusterbomb方式,又没设置多线程,所以会很慢。先让它跑先
到了下午,还没跑出来,1万多条只跑了6000多。关掉吧
应该是字典问题,把字典一些常见的弱口令复制出来,再结合一些关键词rootmoza
进行组合字典。然后抓包继续爆破

每爆破一百多条,ip就被ban掉,苦逼的重新整理字典重新爆破,最后终于有点结果。尝试这几组特殊结果,root xxxx成功
登陆成功
5phpmyadmin 后台getshell
接下来就是phpmyadmin后台getshell,一个老套路加新姿势
先找绝对路径,报错,google,访问phpmyadmin特定文件,找phpinfo无法爆出路径。
在变量可知道mysql的绝对路径,那网站根目录会是www或WWW
后来想到在generaload file利用日志文件可以验证,路径正确,成功修改日志文件的路径,错误会报错ps:这里的generalload file 后面的新姿势会用到

老套路:直接从表导出数据:(我一开始执行写入不了,后来改先执行前两句,再进入创建的表执行下一句)
CREATETABLE `mysql`.`study` (`mozhe` TEXT NOT NULL );
INSERTINTO `mysql`.`study` (`mozhe` )VALUES ();
SELECT7on FROM study INTO OUTFILE C:/web/WWW/mozhe.php;
尝试老套路,直接失败,意料之中,因为之前moza说开了waf和禁用了一些函数的
showglobal variables like %secure%;
果然securefile priv值为null,不能进行导出导入数据
新姿势,针对intooutfile 被禁用,无法导出导入文件
当然也可以先设置general_log变量为on和general_log_file为我们已知的路径,最后执行最后的语句
SETglobal general_log=on;
SETglobalgeneral_log_file=D:/webshell/WWW/shell.php;#如果没有shell.php会自动创建
SELECT;
利用新姿势,成功在mysql的日志文件中写入一句话并成功解析php文件,webshell路径为日志文件shell.php

在我开开心心连菜刀时,我懵了。。。

直接被拦截了,看来是waf和防火墙,菜刀被狗吃了,连一次ban一次ip
6漫漫getshell路之后想到
第一、免杀过狗菜刀、xise配合免杀一句话试试:
上传免杀一句话
.
本文系作者 @河马 原创发布在河马博客站点。未经许可,禁止转载。
暂无评论数据