网站地图    收藏   

主页 > 入门引导 > 黑客攻防 >

多个cms后台可被爆破绕过防护 - 网站安全 - 自学php网

来源:未知    时间:2015-04-15 13:08 作者:xxadmin 阅读:

[导读] 1.Phpcms Phpcms 中有个phpsso_server 爆破一次之后,不管帐号密码是否正确,Session中的code值不会刷新。 登录页面不能再打开,如果打开之后,会打开验证码的页面,然后code值就变化了。 而...

1.Phpcms

Phpcms 中有个phpsso_server

爆破一次之后,不管帐号密码是否正确,Session中的code值不会刷新。

登录页面不能再打开,如果打开之后,会打开验证码的页面,然后code值就变化了。

而且如果用户名不对 输出 用户名没有找到

密码不对 输出 密码错误

根据上面的原理 ,我们可以在输入一次正确的验证码之后,然后导入到intruder模块中进行爆破。

So

爆破方法:输入一次正确的验证码,然后抓包

爆破目标:帐号+密码(分次)
 

图片1.png





2.Espcms

先说下espcms的防护措施,有验证码和token。

验证码的值是根据cookies中ecisp_seccode来进行判断的,所以我们在输入一次正确的验证码之后,直接爆破就行。

在来说下token的问题,如果正常重复发包的话,会提示。 提交数据过期,请重新提交。

这可以这样绕过,直接把token这一向删除掉不让提交,然后就绕过了。原因是代码中大概是这样写的。

if($_POST['token']){

判断token是否正确

}

所以删除掉就绕过了。

So

爆破方法:输入一次正确的验证码,抓包,去除掉token这一项

爆破目标:帐号+密码
 

图片2.png





3.Cmseasy

这个后台登录是这样的 第一次登录,登录失败的话,然后会出来一个

Loginfalse*****的cookies,然后再次尝试登录的时候就出现了 验证码。

我们只需要第一次尝试登录的时候就进行抓包,然后爆破就行。

So

爆破方法: 第一次尝试登录抓包

爆破目标:帐号+密码
 

图片3.png





4.PHPYun

这个的问题就是登录一次之后,没有重新刷新下session中验证码的值,导致可以重复以一个验证码进行发包爆破。

So

爆破方法:输入一次正确的验证码,抓包

爆破目标:帐号+密码
 

图片4.png





5.qibocms

没有任何限制,直接爆破。

So

爆破方法:抓包

爆破目标:帐号+密码
 

图片5.png





6.74人才系统

这个默认是不开启验证码的,我们去后台开启验证码。

输入一次正确的验证码之后登录,密码错误之后,只要不再运行验证码这个文件,验证码值就不会被刷新。

So

爆破方法:输入一次正确验证码,抓包

爆破目标:帐号+密码
 

图片6.png





7.phpwind8.7

没有验证码的话,一个ip只能爆破15次,不过是用xff来获取的。我们可以修改xff的ip地址,来进行爆破。

下面我们来说有验证码的,验证码和cookies中的*_cknum这个值有关系。

所以只要我们输入一次正确的验证码,便可以一直爆破下去。

当然一个ip地址有15次机会。我们可以生成一些ip地址。然后再进行爆破

而帐号可以在这个地址http://localhost/phpwind8/u.php?uid=1获取

So

爆破方法:输入一次正确的验证码,抓包。爆破时注意修改xff的值。

爆破目标:密码

Ip地址这要注意取消这个,要不 . 会被urlencode。
 

图片7.png


 

图片8.png

 

 

下面来说下对后台爆破的防护,以及怎么绕过、

1.没有防护

这个直接修改帐号密码进行爆破就行。


2.有验证码

验证码的话,一般都是根据session中的值来进行判断的。

大部分代码如下。

If($_SESSION[‘seccode’]==’’){print ‘验证码为空’;exit();}

if($_SESSION['seccode']!=$seccode){

print '验证码错误';

exit;

}

但是如果是上面这样的代码的话 ,每次效验完之后也不刷新下,那样的话,我们重新发包进行验证即可。

如果他的代码是这样的

If($_SESSION[‘seccode’]==’’){print ‘验证码为空’;exit();}

if($_SESSION['seccode']!=$seccode){

$_SESSION[‘seccode’]=’’;

print '验证码错误';

exit;

}

这样的话,就不能重新发包了。但是可以验证码识别。

如果是cookies中的值的话,更简单,不多说了。


3.有ip爆破次数限制

ip如果是通过 X-Forwarded-For 和 client_ip获取的话,直接修改http头中的信息便可以了。


4.其他登录口

这个就类似于之前提交的phpwind9的后台爆破。默认的登录后台有验证码,另一个登录地址却没有。或者尝试一些其他的api,ajax接口等等。


5.根据用户名取次数

这种方法是根据用户名来判断错误次数,超过次数的话就限制一定时间不让这个用户登录。还真不知道咋爆破。。。

可是如果这样设置的话,知道管理员用户名是什么,然后设置好时间发包,这样的话管理员就无法登录后台了。

解决方案:

过滤
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论