
DVWA
文章平均质量分 85
DVWA平台的一些通关WP
Zichel77
有不足错误之处欢迎礼貌指正
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【DVWA】21. SQL Injection (Blind)SQL注入盲注(Low手工版)
ascii():这是将字符转换为ASCII码的函数。因此,ascii(substr(database(),1,1))返回数据库名称的第二个字符的ASCII码。ascii(substr(database(),1,1)):这部分是一个SQL查询。substr():这是截取字符串的函数。database():这是一个MySQL内置函数,用于获取当前数据库的名称。=100:这是一个比较操作,检查第二个字符的ASCII码是否等于100。1 和 1 是用于指定截取字符串的起始位置和长度的参数。然后进行数据库名猜解。原创 2024-04-08 21:42:32 · 1480 阅读 · 1 评论 -
【DVWA】20. SQL Injection (Blind)SQL注入盲注(全等级Sqlmap版)
盲注,有两种主要类型,包括布尔盲注和时间盲注。原创 2024-04-08 14:44:20 · 2554 阅读 · 0 评论 -
【DVWA】19. Insecure CAPTCHA 不安全的验证码(全等级)
它首先从$_POST[‘password_new’]获取密码,然后使用stripslashes函数去除可能的反斜杠转义,接着使用mysqli_real_escape_string函数对密码进行MySQL转义,最后使用md5函数进行哈希处理。如果两个密码不匹配,代码将输出一条错误消息,并将$hide_form设置为false,以便显示密码更改表单供用户重新尝试。如果新密码与确认密码不匹配或当前密码不正确,代码将输出一条失败的消息,并将$hide_form设置为false,以便显示密码更改表单供用户重新尝试。原创 2024-03-13 22:11:27 · 1368 阅读 · 1 评论 -
【DVWA】18. File Upload 文件上传(High+Impossible)
验证文件内容:代码使用getimagesize()函数来验证上传文件的内容是否为有效的图像。移动文件:如果上传的文件通过了所有检查,代码使用move_uploaded_file()函数将文件移动到目标路径。这是为了确保上传的文件位于安全的目录中,并且可以通过正确的URL访问。生成目标路径:代码使用basename()函数获取上传文件的基本名称,并将其附加到服务器上的目标路径上。移动文件:如果上传的文件通过了所有验证,代码使用move_uploaded_file()函数将文件从临时路径移动到目标路径。原创 2024-01-11 12:02:29 · 1246 阅读 · 0 评论 -
【DVWA】17. File Upload 文件上传(蚁剑报错长段+Low+Medium)
这段代码在文件上传部分没有明确的防范措施来确保上传的文件的安全性。它只检查了文件是否成功移动到目标路径,并根据结果输出相应的消息。因为缺乏对上传文件的有效验证和过滤机制,这可能导致安全漏洞。原创 2024-01-10 19:27:53 · 1314 阅读 · 0 评论 -
【DVWA】16. File Inclusion文件包含(High+Impossible)
与之前的代码示例相比,这段代码更加具体和明确,只允许特定的文件名被包含,其他文件将被拒绝。对于更复杂的场景,可能需要更细致的输入验证和过滤机制。fnmatch()` 函数是一种用于执行模式匹配的强大函数,类似于通配符匹配。它检查 $file 是否等于 “include.php”、“file1.php”、“file2.php” 或 “file3.php”,只有与指定文件名完全匹配的文件才会被包含,其他文件将被认为是错误的。输入验证:代码使用条件语句对变量 $file 进行验证。要求我们用file开头就开咯。原创 2024-01-10 16:25:42 · 962 阅读 · 0 评论 -
【DVWA】15. File Inclusion文件包含(xampp版PHP报错解决+Low+Medium)
存在服务器文件包含漏洞时无论文件后缀是否是php,均当做php文件来执行。当服务器的php配置中,allow_url_fopen和allow_url_include打开时,服务器会允许包含远程服务器上的文件。页面返回了报错,但同时也暴露了页面的地址D:\xampp\htdocs\dvwa\vulnerabilities\fi\index.php。以上的限制其实主要针对的是远程文件的读取,因此本地文件的读取依然不受限制。如果要破解对远程文件的限制,我们对http://进行改写即可,以下为例子。原创 2024-01-10 15:36:25 · 1179 阅读 · 1 评论 -
【DVWA】14. CSRF(High+Impossible)
因为该请求是get请求,所以token验证会被放在请求URL中,我们随便输入密码验证一下,可以看到,在请求的URL中最末尾加入了token。除了我们输入的新密码和确认密码之外,还有user-token的参数被我们捕获,以上框出来的内容都是URL里面出现的,真正需要的是发送后的不回显的token。所以现在要想进行CSRF攻击就必须获取到用户的token,而要想获取到 token 就必须利用用户的 cookie 值去访问修改密码的页面,然后截取服务器返回的token值。函数来对密码进行转义。原创 2023-12-21 18:34:01 · 1195 阅读 · 0 评论 -
【DVWA】13. CSRF(Low+Medium)
应该对用户输入进行适当的验证和过滤,如检查密码长度、使用安全的密码哈希算法等。代码检查了保留变量HTTP_REFERER (http包头部的Referer字段的值,表示来源地址)是否包含SERVER_NAME(http包头部的 Host 字段表示要访问的主机名)。未防止 SQL 注入: 代码中直接将用户输入的密码插入到 SQL 查询语句中,存在 SQL 注入的风险。未防止 SQL 注入: 代码中直接将用户输入的密码插入到 SQL 查询语句中,存在 SQL 注入的风险。原创 2023-12-19 22:15:26 · 1061 阅读 · 0 评论 -
【DVWA】13. Command Injection命令注入(High+Impossible)
输入的去除空白和字符过滤: 使用 trim() 函数删除输入中的前导和尾随空白字符,以避免用户输入的空白字符引起的问题。不难看出该方法对输入的 IP 地址做了合法性验证,只有输入符合 IPv4 格式的内容才能被正常执行,排除了一切可以注入其他命令的可能,安全性方面得到大幅提升。’、‘|’ 、‘-’、‘$’ 、 ‘(’ 、 ‘)’ 、 和 ‘||’检查 IP 地址分割后的各部分是否为单纯的数字,如果是,则将拆分的 IP 地址重新拼接,进而继续进行后续操作。将反斜杠 ‘’ 转换为正斜杠 ‘/’。原创 2023-12-19 17:38:10 · 1179 阅读 · 0 评论 -
【DVWA】12. Command Injection命令注入(乱码问题+Low+Medium)
未对用户输入进行充分验证和过滤: 代码中使用 $_REQUEST[‘ip’] 获取用户输入的IP地址,然后直接将其拼接到 shell 命令中,存在命令注入的风险。执行系统命令的风险: 使用 shell_exec 函数执行系统命令存在一定的风险,尤其是在执行用户输入的命令时。使用不可信的用户输入构造命令: 代码中直接将用户输入的IP地址拼接到 shell 命令中,这种方式容易受到特殊字符和命令注入攻击的影响。通过提交恶意构造的参数破坏命令语句的结构,从而达到执行恶意命令的目的。原创 2023-12-19 17:30:12 · 1239 阅读 · 0 评论 -
【DVWA】10. Brute Force暴力破解(Low+Medium)
首先使用clear对所有自动标识的变量进行取消,然后使用add进行手动选择,此处只选择password指一个变量,并且把攻击类型(Attack type)选为sniper,修改好之后如下图所示。暴力破解也称为穷举法,是指未知用户名和密码的情况下,通过某些破解软件+破解词典(用户可能设置的用户名及密码文件),来爆破出正确的用户名及密码,此过程技术成分低,其耗费时间多,成功几率小。在爆破的过程中我会使用Length对返回的数据包长度进行排序,因为登陆成功和登陆失败返回的数据包长度应该是不一样的。原创 2023-12-14 17:47:39 · 1092 阅读 · 0 评论 -
【DVWA】11. Brute Force暴力破解(High+Impossible)
在代码中,使用 prepare 方法准备 SQL 语句,并使用 bindParam 方法绑定参数,确保输入的用户名和密码在查询中被正确地转义和处理。mysqli_real_escape_string(string,connection)函数会对字符串string中的特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义。延时反应:在登录失败的情况下,代码通过 sleep 函数来引入一个随机的延迟时间(2 到 4 秒之间),这样可以防止暴力破解者通过快速尝试大量不同的用户名和密码组合。原创 2023-12-14 22:00:30 · 1545 阅读 · 0 评论 -
【DVWA】9. 存储型XSS Stored(High+Impossible)
同DVWA靶机中High等级下的反射型XSS类似,都用到了preg_replace()函数,它彻底的过滤了,不能绕过,同时针对于message模块,也有相当强大的过滤策略,message不存在存储型XSS漏洞。,img调用图片,src所描述路径不存在,会导致onerror执行,从而时alert(1)函数触发,回显1。impossible就相当于给Name字段做了一个修复,和Message加上相同的防护即可。所以修改name字段的长度限制,使用其他标签,比如。该内容包含了PHP代码。原创 2023-12-14 16:03:34 · 497 阅读 · 0 评论 -
【DVWA】8. 存储型XSS Stored(Low+Medium)
当用户访问该留言板页面时,恶意代码执行,通过document.cookie函数获取当前用户的cookie值,赋给站点xss.php文件,xss.php文件中定义也文件操作,将获取的cookie写入站点cookie.txt文件,此时攻击者就获取了用户的cookie值。我们测试一下在Message栏,能否执行标签,在测试过程中,name栏也有长度限制,我们修改其源码,增大长度插入标签。函数会对字符串中的特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义。的 POST 变量。原创 2023-12-13 21:51:00 · 1132 阅读 · 0 评论 -
【DVWA】7. XSS DOM(High+Impossible)
2.获取 default 参数的值:如果 URL 中包含 default 参数,则使用 substring() 函数来获取该参数的值,具体方式是从 URL 中 “default=” 字符串后面开始截取,长度为 8(即 “default=” 的长度),得到 lang 变量。总体来说,该段代码是一个简单的安全性检查脚本,用于检查并允许特定白名单内的语言选项,并阻止用户传递不在白名单内的参数。如果检测到不在白名单内的参数,它会将用户重定向到指定的 URL,以确保用户选定的语言始终在允许的范围内。原创 2023-12-12 22:16:28 · 941 阅读 · 0 评论 -
【DVWA】7. XSS DOM(Low+Medium)
于是选择采用img标签,payload为这段代码是一个 PHP 脚本,用于检查和处理传递给网页的 GET 请求参数中的 default 值。可以发现可以回显,说明XSS语句被包含在option标签里,但是也没有xss弹窗。可以看到还是起不了作用,这是因为select标签的存在。要让img标签起作用,就想办法去闭合option。可以看到XSS漏洞点是在option标签当中的。可以看出没有给任何的过滤。此时客户端的标签逻辑为。原创 2023-12-12 21:57:49 · 890 阅读 · 0 评论 -
【DVWA】6. 反射型XSS Reflected(High+Impossible)
既然script标签代码被过滤,那就尝试上面用到的,使用img、body等标签的事件或者iframe等标签的src注入恶意js代码。$name变量使用的是preg_replace函数,这个函数用于正则表达式的搜索和替换了。发现回显只有一个反括号,尝试使用大小写混淆或者双写绕过,继续使用测试是否有XSS漏洞、具体和Medium的引号法相同。原创 2023-12-12 17:01:39 · 922 阅读 · 0 评论 -
【DVWA】5. 反射型XSS Reflected(Medium)
HTML语言中对引号的使用不敏感,但是有些过滤函数则对引号时锱铢必较的,因此我们可以使用不同引号来闭合XSS语句。发现就是对script标签进行了过滤,所以对script标签改写或者使用其他的标签即可。当发现过滤器仅进行一次过滤时并将一些关键字过滤为空,则可以使用双写绕过。因此就要考虑对标签进行改写从而绕过过滤机制。对输入框进行测试,看是否存在反射型XSS。多出了一个touch me的点击处。,即加上引号之后能够弹窗。原创 2023-12-12 15:51:40 · 476 阅读 · 0 评论 -
【DVWA】3.SQL Injection通关记录(High)手工+自动化
这是因为点击“here to change your ID”,页面自动跳转,防御了自动化的SQL注入,分析源码可以看到,对参数没有做防御,在sql查询语句中限制啦查询条数,可以通过burpsuit抓包,修改数据包实现绕过。注意:1.txt需要在sqlmap文件夹下,否则没办法找到文件,注意检查一下1.txt的文件内容,一开始我是用BP直接保存的,后来发现保存的是一堆HTML文件,所以后来直接复制粘贴了。由此可以知道,是字符型注入,其他和low类型一样,注入点在点击后显示的页面。首先发送至repeater。原创 2023-12-08 21:37:16 · 599 阅读 · 0 评论 -
【DVWA】4. 反射型XSS Reflected(Low)
用户、攻击者、被攻击的Web服务器、攻击者的Web服务器。原创 2022-08-20 10:49:20 · 1291 阅读 · 1 评论 -
【DVWA】0.Xampp安装配置教程+错误终极总结
一、下载首先附上DVWA包链接:https://pan.baidu.com/s/1191YIvBHdo755DihKcBlOw.cn.com(去除末尾.cn.com即可访问)提取码:tn5hXampp包链接:https://pan.baidu.com/s/1h5kjJDeqe7Ee-KPVSjIYJg.cn.com(同理)提取码:pdo6二、安装xamppxampp文件下载到文件夹后双击选择你喜欢的路径安装,一路默认即可中间可能会弹窗说有捆绑软件安..原创 2020-10-16 16:29:36 · 4276 阅读 · 1 评论 -
【DVWA】1.SQL Injection通关记录(Low)
Security Level:Low1.判断注入点及注入类型看到的是一个输入框,输入数字有对应返回值所以这里应该是一个注入点,使用恒真恒假式来尝试一下输入1' and '1'='2返回无结果,确定此处为注入点再用恒真式来显示所有结果输入1' or '1'='1('1'='1'恒真,中间使用or连接则整个查询式子恒真,即可返回所有查询结果)2.判断数据库中的字段数...原创 2020-10-21 18:51:53 · 396 阅读 · 0 评论 -
【DVWA】2.SQL Injection通关记录(Medium)
Security Level:Medium1.判断注入点及注入类型这一等级明显加上了一些限制,用户无法在页面上直接输入,而是限制进行数字的选择这时就考虑抓包,看看能否在数据包中进行注入语句的构造找到了id=1这一句,是数字型,看看是不是注入点右键点击发送至Repeater构造语句id=1 and 1=2可以查询,确定是数字型用字符型验证一下,构造语句1' and 1=1#出错了,结尾的注释符其实可要可不要,Submit=Submit意思就是原创 2020-10-21 19:16:39 · 320 阅读 · 0 评论