文章标题

  • 漏洞概述
  • 漏洞成因
  • 漏洞复现
    • phpstudy搭建网站
      • 源码
      • 搭建
    • Burpsuite抓包
      • 开始爆破
      • 四种攻击方式
  • 漏洞修复建议

漏洞概述

Emlog博客系统默认后台登陆地址为http://域名/admin/login.php。后台登陆时,错误情况下,验证码未刷新,导致可暴力破解登陆管理员账号。虽然属于低危漏洞,但是在emlog5.3.1和6.0测试版本均存在,不容忽视。

漏洞成因

在admin文件夹下的global.php中有这么一段

if ($action == 'login') {$username = isset($_POST['user']) ? addslashes(trim($_POST['user'])) : '';$password = isset($_POST['pw']) ? addslashes(trim($_POST['pw'])) : '';$ispersis = isset($_POST['ispersis']) ? intval($_POST['ispersis']) : false;$img_code = Option::get('login_code') == 'y' && isset($_POST['imgcode']) ? addslashes(trim(strtoupper($_POST['imgcode']))) : '';$loginAuthRet = LoginAuth::checkUser($username, $password, $img_code);if ($loginAuthRet === true) {LoginAuth::setAuthCookie($username, $ispersis);emDirect("./");} else{LoginAuth::loginPage($loginAuthRet);}
}

当登陆失败的时候,并没有销毁session,验证码没有刷新,可重复使用,导致能够暴力破解。

漏洞复现

phpstudy搭建网站

源码

这是网站源码的压缩包:emlog5.3.1.zip,提取码是rox1

我们下载之后就可以开始搭建了

搭建

首先将下载的压缩包解压到小皮的网站根目录下,以我的为例,即D:\phpstudy_pro\WWW。可以把解压之后的文件夹重命名,这样好记且有便于后续的操作,我把它改成了emlog。之后进入小皮的网站模块,点击创建网站,域名改为重命名之后的名字(没改的话就将域名设为你根目录下的名字)。这边一定要注意的是PHP版本,由于PHP7已经不支持mysql扩展了,但是支持mysqli和pdo_mysql,而我用的是mysql且网站要求配置的也是mysql,所以php版本就不能选的太高,不然后续网站搭不起来。所以这边创建网站就直接选低版本的php即可,当然如果没注意到这点,后续也可以在网站管理模块将php版本调低(我就是这样的,一开始不知道有这个坑)。

这样网站就搭好了,之后点击管理—>打开网站,现在配置MySQL。数据库名设为emlog,这边我是自己创建了一个,因为他说了不会自动创建数据库。之后的mysql用户名和密码就是自己的用户名和密码(如果忘了可以看小皮的数据库模块,里面有记录)。


再来注册一个管理员账户,这边随便设置就行了,此处我把用户名和密码都设成了admin123。之后开始安装就可以了。

Burpsuite抓包

开始爆破

网站搭建完成之后,进入网站首页。点击登录即可进入后台登录界面,我们虽然知道管理员的账号密码(刚创建的),但我们此时为了测试默认是不知道管理员的账号名称以及密码的。在登陆界面随便输个,这边很奇怪啊,我的这个后台登陆界面没有验证码不知道为啥,不过也不影响,因为这里的验证码本来就是形同虚设的。
之后burp抓包

可以看到我们输入的用户名和密码。快捷键 ctrl+I 将包发送到 intruder 模块。进入 positions 模块更改攻击类型为 Cluster bomb,并选择要破解的变量 user 和 pw (注意选择变量的先后顺序,这关乎到后面对应内容的破解)

四种攻击方式

在上述,我们为什么要把攻击类型改为 Cluster bomb 呢?首先我们要了解 burpsuite 的四种攻击类型

1、狙击手模式(Sniper)

Attack No. Position A Position B
0 1 null
1 2 null
2 null 1
3 null 2

添加一个参数,且假设 payload 有两个,那么就会执行两次;
添加两个参数,就会挨个来,第一个参数开始爆破时,第二个不变,如此这样,就会执行四次

我个人理解来看,这是唯一一个多个参数不能同时爆破的攻击类型

2、攻城锤模式(Battering ram)

Attack No. Position A Position B
0 1 1
1 2 2

与sniper模式不同的地方在于,同样情况下,攻击次数减半,且每次两个位置用相同的密码

3、草叉模式(Pitchfork)

Attack No. Position A Position B
0 1 3
1 2 4

可以多组密码本payload,又与攻城锤模式相同的地方在于一一对应

4、集束炸弹模式(Cluster bomb)

Attack No. Position A Position B
0 1 3
1 2 4
2 1 4
3 2 4

跟草叉模式相似的是多个密码本对应多个位置,不同的是不再是一一对应,而是交叉组合(笛卡尔积),每一个密码本里的密码都对应与另一密码本所有密码

所以为什么选择 Cluster bomb 就显而易见了。我们此时并不知道 user 和 pw 的情况,所以我们要让两个变量采用最多的组合方式来进行测试。

继续上述爆破操作,再进入 payload 模块,此时前面所说的顺序性就体现出来了,由于我们先选择的变量是user,所以我们先添加猜测的 user 。如图,这边需要借助字典,但是我没有…其实也不太需要,只是为了测试,所以除了添加正确的之外随便添加一些别的就可以了。

之后添加猜测的 pw,步骤跟上面一样。可见此时Request count已经变了,因为选择的攻击模式使得每个用户名和密码都匹配测试一次

之后可以进入 options 模块选择攻击的线程等(多线程有助于加快破解速度),此处由于我添加的猜测数据很少,可以直接攻击,点击 start attack,得到最终的结果。我们可以根据 status 和 length 两个模块来判断是否成功。此处看到当两个payload都为admin123时,状态和长度都和其他笛卡尔积不同,猜测这就是管理员账户的信息。

尝试登陆成功

漏洞修复建议

1、如果用户登录次数超过设置的阈值,则锁定帐号(有恶意登录锁定帐号的风险)
2、如果某个 IP登录次数超过设置的阈值,则锁定IP
3、增加人机验证机制
4、验证码必须在服务器端进行校验,客户端的一切校验都是不安全的。

emlog5.3.1后台暴力破解相关推荐

  1. Nmap.sqlmap.暴力破解

    1. Nmap的基本 Nmap + ip 6+ ip Nmap -A 开启操作系统识别和版本识别功能 – T(0-6档)  设置扫描的速度  一般设置T4    过快容易被发现 -v 显示信息的级别, ...

  2. Web攻防之暴力破解(何足道版)

    然后发在先知平台备份了一份 1 @序 攻防之初,大多为绕过既有逻辑和认证,以Getshell为节点,不管是SQL注入获得管理员数据还是XSS 获得后台cookie,大多数是为了后台的登录权限,假若我们 ...

  3. web后台登录口令暴力破解及防御

    在实际网络安全评估测试中,前台是给用户使用,后台是给网站管理维护人员使用,前台功能相对简单,后台功能相对复杂,可能保护媒体文件上传,数据库管理等.前台用户可以自由注册,而后台是网站管理或者维护人员设定 ...

  4. 手把手教你用Python进行SSH暴力破解

    暴力破解属于密码破解的一种,也是最常见的破解方法之一,通过不断的尝试来达到破解的目的,所以暴力破解的本质就是一种枚举. 现在也有很多流行的破解软件,不过个人觉得装上kail其实也就啥都有了,但是今天我 ...

  5. 如何“暴力破解”Oracle性能优化的极端问题(附精彩案例解读)

    云和恩墨大咖系列报道 2019数据技术嘉年华于11月16日在京落下了帷幕.大会历时两天,来自全国各地上千名学术精英.数据库领袖人物.数据库专家.技术爱好者在这里汇聚一堂,围绕"开源 • 智能 ...

  6. 【PC工具】压缩包密码破解工具,暴力破解压缩包密码,解压密码获取

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 平时备份文件,为保证数据安全,经常会给压缩包加密,那么问题就来了,我脑子不好老忘事怎 ...

  7. 【PC工具】压缩包密码破解工具,暴力破解压缩包密码,zip密码获取

    平时备份文件,为保证安全经常会给压缩包加密,但是自己使用的时候又比较容易忘掉.还有一种情况,在网上找了半天,下载了半天的资源,打开压缩包发现有密码... 今天给大家带来一款可以破解压缩包密码的软件-- ...

  8. WebWall-02.Burt Force(暴力破解漏洞)

    概述 1. 什么是暴力破解 破解 = 瞎猜 暴力破解 = 连续尝试 + 字典 + 自动化 字典的获取: ​ 常用用户名/密码TOP500等 ​ 类似:https://www.cnblogs.com/s ...

  9. SSH服务,优化,防止暴力破解

    ssh服务 1.ssh服务的介绍 名称:ssh协议 安全外壳协议 Secure shell 的缩写 建立在应用层和传输层基础之上的安全协议 作用 sshd服务使用ssh协议可以用来进行远程控制和计算机 ...

  10. 渗透学习心得-暴力破解

    //环境:1.用于测试的渗透网站 2.burpsuite 先导 1.首先将环境的配置(跳过) 2.burpsuite的基本功能 3.对网站的漏洞分析以及如何利用burpsuite进行爆破 正文 1.b ...

最新文章

  1. pycharm的演示模式、无干扰模式、全屏模式(presentation mode、distraction free mode、full screen mode)
  2. oracle创建数据库步骤
  3. Mongodb3.4.4复制集群+分片配置文档
  4. Hive高级用法汇总
  5. middle函数C语言,C语言函数调用栈(三)
  6. JDK1.8 IdentityHashMap
  7. RTT Nano+STM32F407ZGT6+LAN8720A+LWIP+CubeMX+MDK
  8. Linux通过源码编译安装程序;yum和源码安转软件包的区别
  9. yii2 init初始化脚本分析
  10. pt和px有什么区别?pt和px如何转换?
  11. AutoHotKey映射方向键和Home, End键
  12. 利用.sym跨平台解析iOS符号
  13. Unity 3D 图形学 Shader之顶点与片段着色器(五)
  14. cf刷题记录- 5 1
  15. 闭锁CountDownLatch
  16. i686-pc linux gnu,交叉编译: --host --build --target到底什么意思?
  17. SpringBoot项目打jar后执行jar包提示:xx没有主属性清单 解决
  18. linux命令 清空文件夹,linux清空文件夹命令问题
  19. Abaqus 利用FindAt函数根据坐标查找点,线,面
  20. 有符号16进制转10进制工具分享

热门文章

  1. 八猴渲染器4.0基本使用教程及渲染教程
  2. 微信小程序 等待几秒、_微信小程序从提交审核到审核通过最快速度:39分55秒!...
  3. java foreach 中止_如何正确终止 forEach
  4. 突破与改变:酒店品牌的中高端之战
  5. 单独设置一页或者多页的页眉或者页脚
  6. mac 电脑 打开隐藏文件
  7. 在线脑图思维导图生成工具
  8. 网页中的一键加QQ群、唤起QQ群聊天窗口
  9. 十年深圳人,是真的吗?
  10. 惠普541笔记本更换内存条_惠普541笔记本如何样啊?有什么缺点和优点?, 真心不会...