DVWA靶场攻防实战
文章平均质量分 91
DVWA是一款用于漏洞练习的Web应用程序。它模拟了真实世界的Web应用程序,并在其中实现了各种各样的安全漏洞。本专栏通过详细的解题思路及攻击姿势,丰富读者的安全技能与知识。
秋说
聚焦全栈开发与网络安全实战 | 欢迎订阅优质付费专栏,专注打造「新手能看懂、学完能实战」的全栈技术教程。商务合作/项目与毕设指导/产品推广/技术支持,可私信沟通。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【网络安全】基于PHP study的DVWA靶场搭建教程
接着访问:http://127.0.0.1/dvwa-master,拉到页面最下面点击Create/Reset Databse跳转至该页面后,输入admin、password即可登录:原创 2024-07-14 13:13:23 · 2378 阅读 · 3 评论 -
【网络安全】DVWA之 Command Injection 攻击姿势及解题详析合集
如果是*nix系统,则执行带有’-c 4’参数的ping命令(表示发送4个ICMP回显请求),同样将结果赋给变量cmd。:与操作符表示只有前一个命令执行成功(返回0),才会执行后面的命令。如果前一个命令执行失败(返回非零值),后面的命令将不会执行。:或操作符表示只有前一个命令执行失败(返回非零值),才会执行后面的命令。如果前一个命令执行成功(返回0),后面的命令将不会执行。如果得到了该请求,则会继续执行后续代码。获取名为ip的输入字段的值,该字段应该是一个IP地址或域名,表示要执行ping命令的目标。原创 2023-06-17 14:17:06 · 4358 阅读 · 0 评论 -
【网络安全】DVWA之CSRF攻击姿势及解题详析合集
CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种常见的Web应用程序安全漏洞,它利用了用户在已认证的网站中的身份,通过欺骗用户发起非预期的请求。generateSessionToken()函数用于生成一个随机的token,并将其存储在会话(session)中,确保每个用户都有一个唯一的token。通过这两个步骤,服务器会先验证token的有效性,只有在验证成功后才会处理用户的密码更改请求。再重新抓包,重放包,任意修改密码均成功,插件里的token值会自动更新。原创 2023-06-16 22:02:19 · 4641 阅读 · 6 评论 -
【网络安全】DVWA之File Upload—AntSword(蚁剑)攻击姿势及解题详析合集
这里首先根据文件类型使用 imagecreatefromjpeg() 或 imagecreatefrompng() 函数创建一个新的图片资源,并使用 imagejpeg() 或 imagepng() 函数将其保存为 JPEG 或 PNG 格式的图片,存放到临时文件中。有时候使用蚁剑登录网站可能需要提供用户名和密码等信息,在蚁剑中设置 Cookie,攻击者便可以在蚁剑中模拟登录目标站点,并保存站点返回的 Cookie 值,从而实现一些需要登录才能访问的功能,比如上传、下载文件等操作。原创 2023-04-29 13:14:08 · 13341 阅读 · 0 评论 -
【网络安全】DVWA之Content Security Policy (CSP) Bypass 攻击姿势及解题详析合集
CSP 可以阻止恶意代码、恶意插件或其他不受信任的资源被加载到页面上,从而增加页面的安全性。通过合理配置 CSP,网站管理员可以严格限制哪些资源能被加载,从而减少恶意代码执行的风险。指令设置 nonce ,其目的是为了提供额外的安全性,确保只有具有相应 nonce 的脚本能够被执行。接下来的代码段是一个表单,允许用户输入内容,并将该内容直接输出到页面中。这行代码,禁用了浏览器的跨站脚本攻击(XSS)防护机制,以便内联的弹窗警告框能够正常工作。的函数,用于处理异步加载的远程脚本返回的数据。原创 2023-06-16 09:13:52 · 5710 阅读 · 3 评论 -
【网络安全】DVWA之 Insecure CAPTCHA 攻击姿势及解题详析合集
如果验证码验证失败,则将错误消息赋值给$html变量,并将隐藏验证码表单的标志设为false,以便重新显示验证码表单。验证码可以是图片验证、声音验证或倒立文字验证等。2、如果两次输入的密码不相同,则将错误消息赋值给$html变量,并将隐藏验证码表单的标志设为false,以便重新显示验证码表单。8、如果密码更改失败,则输出相应的错误消息并将隐藏验证码表单的标志设为false,以便重新显示验证码表单。6、如果验证码验证失败,则输出错误消息并将隐藏验证码表单的标志设为false,以便重新显示验证码表单。原创 2023-06-16 17:55:23 · 4473 阅读 · 0 评论 -
【网络安全】DVWA Weak Session IDs(弱会话)详析
通过在特定时间点之前获取 Cookie 的值,并在该时间点之后使用 Cookie 进行会话劫持,攻击者可以获得未经授权的访问权限。这意味着攻击者可以通过猜测会话 ID 的值或使用可预测的模式,获取合法用户的会话标识并冒充该用户。使用名为 “dvwaSession” 的 Cookie 名称,将变量 $cookie_value 的值设置为 Cookie 的值。代码中使用的会话 ID 是通过递增的方式生成的,这种生成方式容易被攻击者猜测或推测出合法的会话标识,从而增加会话劫持攻击的风险。原创 2023-06-16 09:16:14 · 5812 阅读 · 2 评论 -
【网络安全】DVWA之Open HTTP Redirect 攻击姿势及解题详析合集
如果上述条件都不满足,即未提供 “redirect” 参数或其值为空,将返回 HTTP 响应码 500,并输出提示信息 “Missing redirect target.”,然后程序终止执行。例如,在 Apache 的。如果没有传递 “redirect” 参数,或者其值为空,则同样返回 HTTP 响应码 500,并输出另一段提示信息:“Missing redirect target.”如果没有指定重定向目标,则显示 “Missing redirect target.” 的消息,并终止脚本的执行。原创 2023-06-16 09:14:55 · 5239 阅读 · 2 评论 -
【网络安全】DVWA之XSS(Stored)攻击姿势及解题详析合集
trim() 函数移除字符串两侧的空格,以确保数据在插入到数据库时没有多余的空白字符。使用 stripslashes() 函数去除反斜杠,同时使用 mysqli_real_escape_string() 函数转义特殊字符。使用 mysqli_real_escape_string() 函数将特殊字符转义为它们的 Unicode 编码,以确保它们不会被视为 SQL 语句的一部分。从源代码来看,它没有明确的防御 XSS 攻击的措施。原创 2023-05-18 19:14:28 · 7055 阅读 · 0 评论 -
【网络安全】DVWA之XSS(Reflected)攻击姿势及解题详析合集
Payload:alert("qiu")由于str_replace() 函数将标签替换为空,且str_replace函数仅执行一次Payload将变为alert("qiu"),从而实现了正常XSS语句的注入在 PHP 中,变量名、函数名、常量名等标识符都是区分大小写的。例如,$Qiu 和 $qiu 是两个不同的变量因此我们可构造Payload如下来绕过限制:Payload:alert("原创 2023-05-17 23:46:01 · 14006 阅读 · 0 评论 -
【网络安全】DVWA之XSS(DOM)攻击姿势及解题详析合集
标签用于在 HTML 页面中嵌入 JavaScript 脚本代码,通过在浏览器中执行这些脚本来实现一些与用户交互、数据处理、动态效果等相关的功能。1.通过 array_key_exists() 函数来判断 $_GET 超级全局变量中是否存在名为 default 的键,如果存在并且不为 null,则将其赋值给 $default 变量。语句中实现一个白名单机制,将可接受的语言作为取值,所有其他语言都会默认被转换为英语。在客户端被注释,因此注入语句不会被传入服务器端,从而达到注入效果。,则继续进行后续校验;原创 2023-05-16 17:04:31 · 13870 阅读 · 0 评论 -
【网络安全】DVWA之File Inclusion攻击姿势及解题详析合集
如果 $file 不以 file 开头且不等于 include.php,则说明用户请求的不是目标文件,因此输出错误信息并调用 exit() 函数,结束程序执行。双写绕过是一种常见的绕过字符过滤规则的方法,其原理是将需要过滤的字符在 URL 中双倍输入,从而绕过简单的过滤器。它可以在字符串中查找并替换指定的内容,返回替换后的新字符串。subject 参数指定要进行替换操作的原始字符串,可以是一个字符串或者一个字符串数组;其中,search 参数指定要查找的字符串,可以是一个字符串或者一个字符串数组;原创 2023-05-03 23:08:19 · 11339 阅读 · 0 评论 -
【网络安全】DVWA之Brute Force攻击姿势及解题详析合集
在用户提交表单时,通过 checkToken 函数检查请求中的 $_REQUEST[‘user_token’] 值是否等于 $_SESSION[‘session_token’] ,如果这两者不相等,就表示该请求很可能是恶意提交,将被拒绝。2.该代码对 $_POST[‘username’] 和 $_POST[‘password’] 变量进行了处理,使用了 mysqli_real_escape_string 函数来转义输入中的特殊字符,进而防止 SQL 注入攻击。,操作同上,不再赘述。原创 2023-04-29 20:06:47 · 4522 阅读 · 0 评论 -
【网络安全】DVWA之SQL注入—Impossible level代码审计
使用 execute() 方法执行查询,使用 fetch() 方法获取查询结果中第一行的数据,并将其存储到 $row 数组中。然后判断 $data->rowCount() 的值是否为 1,确保只有一个结果被返回.在 SQLite 中,使用全局变量 $sqlite_db_connection 获取 SQLite 数据库连接对象,并使用 prepare() 方法准备 SQL 查询语句,在其中使用占位符 :id 代替 id 参数。使用 bindValue() 方法将 id 参数绑定到占位符上,指定参数类型原创 2023-04-26 17:05:44 · 12762 阅读 · 0 评论 -
【网络安全】DVWA之SQL注入—High level解题简析
由以上两个回显可知,该注入类型为字符型注入。由以上两个回显可知,注入点个数为两个。查看是否存在注入点,爆库名,爆表名,爆列名,爆字段。原创 2023-04-24 12:29:00 · 12032 阅读 · 0 评论 -
【网络安全】DVWA之SQL注入—medium level解题详析
这行代码使用了PHP内置的 mysqli_real_escape_string() 函数对 $id 变量进行转义处理,以防止 SQL 注入攻击。在 Web 应用程序中,当用户在浏览器中提交表单时,浏览器会对数据进行 URL 编码,然后再将编码后的数据发送到后端服务器上。group_concat函数 是 MySQL 中的一个聚集函数,用于将指定列(或表达式)的值以逗号分隔的形式进行拼接。由于字符串’dvwa’中所有的字符均不需要编码,所以URL编码绕过失效。等),剩下的其它所有字符必须通过%xx编码处理。原创 2023-04-21 09:22:18 · 12747 阅读 · 0 评论 -
【网络安全】DVWA之SQL注入—low level解题详析
判断漏洞类型判断漏洞类型原理可参考[网络安全]SQL注入原理及常见攻击方法简析判断是否为数字型注入输入1' order by 4#时,回显Unknown column '4' in 'order clause'说明猜测的注入点个数过大输入1' order by 2#时,回显如下:图片中第一段为第一个注入点的信息,第二段为第二个注入点(即database)的信息。原创 2023-04-19 19:56:09 · 12471 阅读 · 0 评论
分享