1.[靶场WP]DVWA 1.10 之文件上传
2.DVWA教程之Brute Force(high、源码impossible)
3.如何进行dvwa的审计环境搭建?
4.代码审计之文件上传(含CTF) 持续更新中
[靶场WP]DVWA 1.10 之文件上传
DVWA 1.的文件上传安全等级逐级提升,从低到高依次分析: 0x Low 级别代码审计显示,源码文件上传过程中未做任何过滤,审计直接上传php文件即可成功。源码
通过修改HTTP请求报文的审计更新指标源码怎么操作`Content-Type`字段,将php文件伪装成其他类型,源码如image/png,审计可实现上传。源码
0x Medium 级别代码对上传文件类型进行了白名单过滤,审计依赖`Content-Type`字段。源码
尝试通过修改请求数据包,审计将php文件上传为,源码然后直接访问文件。审计
0x High 级别不仅检查文件后缀名,源码还对文件内容进行白名单检测,防范木马。mint ui源码 csdn
尝试上传木马,如`1_info.jpg`,但PHP文件无法直接执行,需与其他漏洞配合。
文件中可能含有恶意代码,但需要特定条件才能利用。
0x Impossible 级别安全措施更严格,包括文件重命名、后缀名、类型和内容的多层检测,以及图像重建以过滤恶意代码。
这使得利用此漏洞变得几乎不可能,需极端条件和多步操作配合。
DVWA教程之Brute Force(high、impossible)
DVWA简介
DVWA是一个提供合法环境以测试安全专业人员技能和工具的PHP/MySQL Web应用,旨在帮助web开发者理解web应用安全防范过程。c 闹钟定时源码它共有十个模块,包括暴力(破解)、命令行注入、跨站请求伪造、文件包含、文件上传、不安全的验证码、SQL注入、SQL盲注、反射型跨站脚本、存储型跨站脚本。
在DVWA 1.9的代码中,分为四种安全级别:Low,Medium,High,Impossible。html支付页面源码通过比较不同级别的代码,初学者可以接触到一些PHP代码审计的内容。
教程环境
DVWA靶机运行在centos8.1,口令破解环境为windows专业版。使用工具包括BurpSuite_pro2.0.和FireFox浏览器。
暴力破解过程
1. 下载启动DVWA靶机,使用指令docker search dvwa查询可下载靶机,并下载star最多的dvwa靶机。使用指令docker images查看所有已下载的靶机,并使用指令docker start CONTAINER ID启动DVWA靶机。启动后使用docker ps确认靶机已启动。
2. 实验设置
将DVWA靶机的安全级别调整至high,关闭burpsuite的拦截功能。使用FoxyProxy插件在FireFox浏览器中设置代理。
3.high级别的口令破解
在high级别中,DVWA使用随机token机制防止CSRF攻击,手机 游戏源码下载增加了暴力破解的难度。虽然没有限制频次或锁定账号,但在登录页面中首次访问没有user_token,这是暴力破解的突破口。通过burpsuite抓包,观察到每次请求都包含用户提交的user_token,并记录在referrer字段中。因此,可以直接在登录界面和首次登录页面进行暴力破解。
使用burpsuite的入侵模块,设置草叉模式遍历payload集合。在Payloads选项卡中选择simple list进行密码爆破。在Payloads选项卡中加载密码爆破的payload,并在Redirections选项卡中设置Always。点击start attack进行攻击,直至成功登录。
4.impossible级别的口令破解
在impossible级别,DVWA仅通过GET请求获取一次性的user_token。由于GET请求无法提交爆破参数,需要通过POST请求进行爆破。使用burpsuite宏功能,建立宏并定义参数规则,对密码进行爆破。
在burpsuite中加载登录请求包至入侵模块,并设置宏进行密码爆破。使用宏后,爆破速度远快于普通草叉模式。
总结
暴力破解是一种简单但效率较低的密码获取方式。为了提高密码安全性,建议使用复杂密码(至少包含八个字符,包含字母、数字和特殊字符)。在实际环境中,应用更高级的安全策略和技术来防范暴力攻击。
如何进行dvwa的环境搭建?
搭建DVWA
DVWA是提供给渗透测试者进行漏洞练习的开源平台,内含多种常见漏洞如XSS、SQL注入、文件上传等,可在Docker Hub上找到多个用户上传的DVWA镜像。选择sagikazarmark/dvwa,使用命令docker pull sagikazarmark/dvwa和docker run -it -p : sagikazarmark/dvwa进行安装。安装完毕后,通过访问本机IP地址.0.0.1:或...6:即可访问DVWA界面,用户名和密码分别为admin和password,数据库用户名和密码分别为root和p@ssw0rd。创建数据库后,重新登录即可开始测试平台内的漏洞。
搭建SQLi-LABS
SQLi-LABS是一个专门学习SQL注入技术的开源平台,包含种不同类型的注入实验,通过在GitHub上搜索Audi-1/sqli-labs找到相应Docker镜像,使用命令docker pull acgpiano/sqli-labs和docker run -it -p : acgpiano/sqli-labs进行安装。安装后,通过访问.0.0.1:或...6:即可访问SQLi-LABS界面,点击“Setup/reset Database for labs”创建数据库,即可开始进行SQL注入实验。
Ms安全实验室
专注网络安全知识普及和专业培训,提供包括Web安全、红队实战、Java代码安全审计、恶意代码分析、网络安全应急响应等系统课程。已出版《Web安全攻防:渗透测试实战指南》、《内网安全攻防:渗透测试实战指南》等安全书籍。可扫描客服微信获取更多学习资料。
代码审计之文件上传(含CTF) 持续更新中
案例一 代码存在以下安全漏洞: 为增强安全性,建议采取以下措施: 文件上传功能常涉及安全问题,需谨慎处理和测试以确保安全。 案例二 (dvwa文件上传impossible代码安全分析) 代码漏洞点包括:反CSRF令牌安全问题:未定义校验函数,可能允许跨站请求伪造攻击。
文件上传安全问题:未限制文件类型和大小,可能导致恶意文件上传。
目录遍历安全问题:相对路径设置可能导致目录遍历攻击。
代码注入安全问题:getimagesize()函数可能允许代码注入。
总之,代码安全问题多,需改进。 MIME绕过 尝试修改上传文件的HTTP头。 检测上传文件类型时直接检查后缀名,不通过Content-Type,易被绕过。 .htaccess攻击 .htaccess配置文件可影响目录权限、重定向和文件扩展名。 设置Sethandlerapplication/x-httpd-php可使非PHP文件执行,可能导致控制网站。 %截断 通过截断文件名中的%,绕过文件类型检测。 注意路径情况和后缀名判断。 条件竞争 利用并发操作的时间窗口,攻击者可在服务器上执行任意代码。 存在条件竞争漏洞的代码示例:$uploaded_name = $_FILES['file']['name'];
$uploaded_ext = substr($uploaded_name, strrpos($uploaded_name, '.') + 1);
$target_name = md5(uniqid()) . '.' . $uploaded_ext;
if (strtolower($uploaded_ext) == 'jpg' || strtolower($uploaded_ext) == 'jpeg' || strtolower($uploaded_ext) == 'png') {
move_uploaded_file($_FILES["file"]["tmp_name"], $dir . $target_name);
$result = $dir . $target_name;
echo "Stored in: $result";
} else { echo "Invalid file"; }
条件竞争攻击示例:并发上传同名文件,仅一个成功保存,攻击者利用此漏洞上传恶意文件。 上传.user.ini进行getshell 通过上传特定文件实现getshell,需谨慎处理服务器权限和代码审查。