前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sql-labs-less32/less33|sql注入

sql-labs-less32/less33|sql注入

作者头像
TenG
发布2020-10-28 17:43:52
4960
发布2020-10-28 17:43:52
举报

前言:

由于less29-less31关需要使用JspStudy,但是官网的版本不支持Windows10环境(是我太菜,之前在XP虚拟机搭建DVWA环境就搞不好),所以直接跳过了。本关为sql-labs系列less32和less33,此系列持续更新,前面的关卡可以查看我前面的文章,如有错误的地方欢迎师傅指正。

正文:

less32:

本关涉及到新的注入姿势:宽字节注入

宽字节注入:本人理解的是,由于英文编码每个字母占一个字节,而汉语编码每个汉字占用两个字节,而注入的时候会自动在单引号和双引号前面加上反斜杠(\’)进行转义造成注入失败,所以前面再加上一个汉语编码,如%df(其他编码也可以,不过要ASCII值大于128服务器才会认为是汉字(GBK)编码),由于服务器认为编码是两个字节所以会将后面的反斜杠编码(\)即%5c也看作是汉语编码,从而造成%df%5c被认为是一个汉字,后面的单引号逃逸了出来构成注入。

下面看注入过程:

在这里插入图片描述
在这里插入图片描述

理解完宽字节注入这关就没有什么问题了,测试同第一关差不多了,可以使用–+进行注释,井号还是进行了过滤,不过可以使用%23编码绕过,order by测试也可以正常使用,相对来说还是比较简单,然而注入过程还是遇到了一个问题:

在这里插入图片描述
在这里插入图片描述

爆表的时候会遇到这种情况(后面爆字段名也是),如果数据库不用单引号会回显where字句未找到security列,但是使用单引号会进行转义(注意,这里进行宽字节绕过也不行),不过可以使用16进制绕过(具体原因我还不是太清楚,因为没有查看源码,真实测试情况下也不会知道源码,不过我会在尽快搞清楚原因),如下:

在这里插入图片描述
在这里插入图片描述

注入语句:http://localhost/sqli-labs-master/Less-32/?id=-1%df’ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479 --+

成功回显,16进制编码使用hackbar自带的编码工具就可以,不过前面不要忘记加0x,好了后面的过程都一样就不再赘述啦。

less33:

这一关和上一关注入过程一模一样,差别只是后台使用的函数不一样,less32使用的是自定义函数,这一关使用的是addslashes()函数,不过函数作用都一样,所以这就是为什么这一关的注入过程和less32一样的原因,后面会慢慢更新,感谢支持!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 正文:
    • less32:
      • less33:
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档