一、概要:
靶机:192.168.60.161
攻击机:192.168.60.160
下载地址:https://download.vulnhub.com/pentesterlab/from_sqli_to_shell_pg_edition_i386.iso
涉及:主机发现、信息收集、SQL注入、文件上传
二、主机发现
首先nmap扫描一下当前网段的IP
nmap -sP 192.168.60.160/24
148是kali的ip
得到靶机ip:192.168.60.161
三、信息收集
nmap扫一下端口
打开了22和80两个端口
先看一下80端口的web服务吧。应该会有漏洞会泄露信息
访问靶机ip
查看上面不同的选项
前面几个页面都是GET方式传参给参数id赋值,然后传回页面的文件不同
这样的话,在这里有存在SQL注入的可能性
四、SQL注入
首先手工测试一下注入点
首先找到一个传参的页面,记好测试前的页面的状态,然后开始测试
这里直接使用万能测试语句
1 or 1=1#
测试一下注入点,页面的内容发生了改变,并且改编成的页面内容跟预期是一样的
可以确定这里是存在注入点的
确定注入点之后,由于这个注入点比较明显,所以直接使用sqlmap跑一下数据库
sqlmap -u "http://192.168.60.161/cat.php?id=1" --dbs --batch
爆一下photoblog数据库中的表
sqlmap -u "http://192.168.60.161/cat.php?id=1" -D photoblog --tables --batch
爆一下字段名
sqlmap -u "http://192.168.60.161/cat.php?id=1" -D photoblog -T users --columns --batch
爆一下字段内容
sqlmap -u "http://192.168.60.161/cat.php?id=1" -D photoblog -T users -C id,login,password --dump --batch
由此得到的这个账号密码可能就是上面那个登录页面的账号密码,而且这里sqlmap也直接给解密了密码的md5值
sqlmap真的是yyds
账号:admin
密码:P4ssw0rd
果然是那个页面的账号密码,登录成功
页面有些简单,但是众所周知,越简单的页面越恐怖,继续往下看
这个表是一个图片表,名称是一个herf,可以直接查看,后面的delete应该也是可以删除这张图片
旁边的选项也是有添加新图片的
五、文件上传拿shell
先直接上传一个一句话木马文件试试
上传失败,会被检测出是php文件
上传一个修改为jpg后缀的木马文件,测试检测机制是否作用于后缀
上传成功,检测机制不会涉及到内容,可能只是单纯的文件后缀检测
但是上传一个jpg文件是不能被解析为php文件的,无法连接木马
想办法上传一个可以以php格式解析的文件
利用中间件解析漏洞尝试一下
可以上传成功
上传成功还没完,接下来重点是测试是否以php格式进行解析
首先就是找到上传的文件的路径
来到All pictures选项下
查看页面源码,得到图片路径
打开路径查看一下文件是否可以正常访问
可以访问,但是页面什么都没有,说明应该是正常解析了
访问一下之前上传的shell.jpg对比一下
可以了解到,shell.php3已经成功解析了
蚁剑连接一下木马
连接成功