当前位置:   article > 正文

pikachu——暴力破解、文件上传篇_pikachu上传图片无权限

pikachu上传图片无权限

暴力破解

“暴力破解”是一种攻击手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。

我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。这里的认证安全策略, 包括:

  1. 是否要求用户设置复杂的密码;
  2. 是否每次认证都使用安全的验证码或者手机otp;
  3. 是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
  4. 是否采用了双因素认证
基于表单的暴力破解

输入用户名和密码,使用burp进行拦截

发送给intruder模块,对需要暴力破解的地方进行标记,攻击类型Cluster bomb,在payload 选择攻击方式和导入字典

或者

点击start attack开始攻击,根据长度不同获取到账号和密码,login success

验证码绕过(服务器)

输入错误的用户名和密码、正确的验证码,显示用户名或密码不存在,思考:只要不在网页上点Login,不刷新网页,网页当前显示的验证码就一直有效呢?

测试:抓包发送到repeater模块,发送数据包;修改密码,再次发送数据包;显示用户名或密码不存在,证明:只要网页没刷新,验证码在burp suite中可以多次使用

把原数据包发送给intruder模块,按照上述对admin和password数据进行爆破即可

验证码绕过(客户端)

输入错误的用户名和密码正确的验证码,显示用户名或密码不存在

输入正确的用户名和密码正确的验证码,弹窗显示验证码错误,之前对用户名或密码的提示也没有清除

猜测:用户名和密码是在后端验证的,但验证码是在前端验证的

右键查看网页源代码,发现果然前端有检验验证码的js脚本

基于前端验证,burp抓包发送到intruder模块,进行爆破即可

token防爆破

输入错误的用户名和密码,显示用户名或密码不存在

重放后显示csrf token error

删除token,无任何反应

response中网页源代码有一个type为hidden,name为token的input标签,value和request报文的token不一样,应该是下一个报文的token

下一次request需要携带的token就是上一次response中html代码中的隐藏字段值,也就是说request中的token是可以从上一个response中提取的

由此把原数据包发送到intruder模块,选择攻击为Pitchfork,攻击变量加上token

admin和password如上述设置,攻击位3如图所示设置,其中payload options在设置——组添加

设置线程数为1!!!

成功爆破

文件上传

上传原理

网站Web应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个webshell到一个Web可访问的目录上,并将恶意文件传递给如PHP解释器去执行,之后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理,服务器命令执行等恶意操作。还有一部分是攻击者通过Web服务器的解析漏洞来突破Web应用程序的防护

文件上传如何防御
  • 将上传文件与web服务隔离
  • 使用白名单过滤、限制上传文件类型
  • 文件上传路径设置为不可执行权限
  • 检查文件上传路径
  • 自带函数检测,自定义函数检测
  • 图片渲染 对上传文件重命名
  • 对文件内容压缩,重新生成文件内容 检查文件内容
文件上传漏洞绕过的方式有哪些
  • 文件包含绕过
  • 前端限制绕过
  • 文件扩展名绕过
  • ashx上传绕过
  • 特殊文件名绕过
  • 00截断绕过上传
  • htaccess解析漏洞
  • 突破MIME限制上传
  • 解析漏洞绕过
  • 条件竞争绕过
  • CONTENT-LENGTH绕过

简单的一句话木马

<?php @eval($_POST['attack']);?>

client check

上传后缀名为.php文件时,弹窗显示不符合要求

在桌面新建文本文档,写入一句话木马后,修改后缀名为jpg,上传时抓包,修改后缀名为php,点击发送获取上传路径

MIME type

绕过方法:

(1)上传muma.php,burpsuite抓包修改MIME type (好处是服务器上不会多一个没用的文件)

(2)上传muma.jpg,burpsuite抓包修改文件后缀 (好处是只要这个文件上传成功了,MIME type肯定是对的)

getimagesize

getimagesize函数限制了上传文件的文件头必须为图像类型

(1)可以通过添加jpg图片的格式头到脚本文件里进行绕过

<?php phpinfo();?>

文件命名为phpinfo.jpg

(2)上传图片马

原理就是把 .php 中的内容写进图片文件中,用 notepad++ 或者记事本就可以查看到

补充:

攻击模块总览:
一:Sniper(狙击手):只能选择一个字典

二:Battering ram(攻城锤):只能选择一个字典

三:Pitchfork(干草叉):有几个参数可以选择几个字典

四:Cluster bomb( 集束炸弹),几个参数可以设置几个字典

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/504317
推荐阅读
相关标签
  

闽ICP备14008679号