前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >宽字节注入(2)

宽字节注入(2)

作者头像
lonelyvaf
发布2018-06-07 15:01:58
7160
发布2018-06-07 15:01:58
举报

昨晚折腾了一晚上,把大致的一些东西整理了下,为团队纳新选了几首音乐素材..然后团队的一个表弟来问我宽字节注入的事情了...然后就就才抽空写了一点作为上一篇mysql注入的补充。

本来昨天参加t00ls的线下沙龙,有几个新姿势要分享的,结果忙活了一晚上..不知道在干嘛。没写完,明天分享吧。如果来得及...

排除看不懂代码和传送门,阅读这篇文章需要:4分钟

这里$username 是可控的,有输入的地方就是有危险的。因为有输入的地方用户是可控的。一定要过滤,一定要过滤,一定要过滤!

所谓的登陆框注入,以及万能密码,就是这个原理。用注释符注释掉后面验证password的语句。

加完addslushes函数就是这样,登录失败

使用addslashes来防御(addslashes函数会把' " %00 \ 这些字符前面加上一个\来转义他们)

设置数据库字符为gbk导致宽字节注入

这样是失败的

因为post方法是不会对url编码进行还原的。但是由于我们接收参数的是用$_request方法。

所以,我们可以这样~~

用get请求提交~

这样url编码就会被解码,然后%df和%5c被还原成宽字节,運。

宽字节的问题我就不多说了,这边再提了一下是因为团队的一个表弟问的…

传送门:

面试中碰到的坑之宽字节(二)

要补充的是,錦”这个字,它的utf-8编码是0xe98ca6,它的gbk编码是0xe55c。当我们的錦被iconv从utf-8转换成gbk后,变成了%e5%5c,而后面的’被addslashes变成了%5c%27,这样组合起来就是%e5%5c%5c%27,两个%5c就是\\,正好把反斜杠转义了,导致’逃逸出单引号,产生注入。

关于绕过:

一:字符编码问题导致绕过

· 2.1、设置数据库字符为gbk导致宽字节注入

· 2.2、使用icon,mb_convert_encoding转换字符编码函数导致宽字节注入

二:编码解码导致的绕过

· 3.1、url解码导致绕过addslashes

· 3.2、base64解码导致绕过addslashes

· 3.3、json编码导致绕过addslashes

三:一些特殊情况导致的绕过

· 4.1、没有使用引号保护字符串,直接无视addslashes

· 4.2、使用了stripslashes

· 4.3、字符替换导致的绕过addslashes

不一一列出来了,后面安全和开发是一个样子的….

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 晨星先生 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档