Vulnhub靶场——AI Web1练习
内容提要
使用arp-scan和nmap确认目标机器的IP为192.168.78.145,开放端口有80。通过目录扫描发现了/m3diNf0/和/se3reTdir777/uploads/两个目录。在/m3diNf0/目录下发现了一个info.php页面,得到网站的绝对路径。利用sqlmap进行漏洞利用,爆数据库和表中的内容。通过文件上传和提权,最终成功读取flag。
延伸解读
信息收集的关键步骤
文章使用arp-scan和nmap确认目标IP为192.168.78.145,开放80端口。通过dirsearch扫描发现robots.txt,进而找到/m3diNf0/和/se3reTdir777/uploads/目录。在/m3diNf0/下的info.php泄露了网站绝对路径,为后续利用提供基础。这提醒我们,信息收集阶段应全面扫描目录和文件,尤其是robots.txt和phpinfo等敏感页面,可能暴露关键信息。
SQL注入的检测与利用
文章通过输入单引号触发报错,判断为字符型双引号闭合,并用1"%23验证。由于是POST型注入,保存请求包后用sqlmap的-r参数进行检测,逐步爆出数据库aiweb1、表systemUser及账号密码。密码经base64解码得到明文,但目标未开放22端口,这些账号暂时无用。这展示了SQL注入的典型流程,也说明获取的凭证需结合其他服务才能发挥作用。
文件上传与提权路径
文章利用sqlmap的--os-shell和--file-write功能,结合已知绝对路径,上传木马hanhan.php到uploads目录,并用冰蝎连接。提权时发现/etc/passwd可写,通过生成crypt密码并写入新用户,再用su切换获得root权限,最终读取flag。这强调了文件上传漏洞与系统配置不当的结合风险,以及提权中利用可写文件的方法。
Q&A
如何确认目标机器的IP和开放端口?
使用arp-scan和nmap工具确认目标机器的IP为192.168.78.145,开放端口为80。
在/m3diNf0/目录下发现了什么重要信息?
在/m3diNf0/目录下发现了一个info.php页面,得到了网站的绝对路径。
如何利用sqlmap进行漏洞利用?
可以使用sqlmap命令行工具,通过抓包保存请求包,然后执行sqlmap -r 1.txt进行数据库爆破。
如何进行文件上传和提权?
通过sqlmap上传木马文件到指定目录,并利用反弹shell进行权限提升。
成功读取flag的步骤是什么?
通过提权后,成功执行命令并读取flag,最终得到flag{cbe5831d864cbc2a104e2c2b9dfb50e5acbdee71}。
在sqlmap中如何爆破数据库和表?
使用sqlmap命令如sqlmap -r 1.txt --dbs和sqlmap -r 1.txt -D aiweb1 --tables进行数据库和表的爆破。