提示:以下是本篇文章正文内容,下面案例可供参考`
一、搭建DVWA
1.搭建靶场
具体可查考链接
https://x1z910g2ujd.feishu.cn/sheets/YcMRs0mFDhNEQ7tuyHCcVKAGnKc?sheet=049ba0&range=STIzOksyMw
2.去nssctf上找dvwa
二、题目
1.Brute Force(暴力破解)
首先,用admin admin组合去试,会发现密码错误
再,抓包处理 ctrl+I发送在password处设置变量
在payloads板块使用字典进行爆破
最后根据数据包的Length值 找到密码
2.Command Injection(命令注入)
先ping一下,发现这里可以让我们执行ping命令
看源代码,可以发现没有做限制,那就可以在ip后面加上要执行的命令dir whoami等等
3.CSRF(跨站请求伪造)
查看源码
修改密码
4.File Inclusion(文件包含)
发现报错
将此处改为On(原来是Off)保存刷新报错就会消失
查看源码,发现没有任何过滤,服务器包含文件时,不管文件后缀是什么,都会尝试当做php文件执行,如果文件为php,则会执行并返回结果
点击打开3个php文件,会发现链接只有page=后面的发生了变化,因此page后的参数可以作为突破口
可以将参数改为file4.php
5.File Upload(文件上传)
先随便上传文件,会发现php文件可以上传,那就上传一个一句话木马
6.Insecure CAPTCHA(不安全的captcha)
先解决报错
再看代码,噼里啪啦一大堆
大概就是第一个if部分检查并返回表单,第二部分是修改,所以只要让该函数进入第二部分即可
抓包处理,修改step=2
最后修改password_new,password_conf的密码
7.SQL Injection(sql注入)
查看代码,可以发现没有对输入的id名进行过滤
我们先输入1’or 1=1–,会发现单引号闭合影响了注入
我们再将语句注释掉,将–改为#,就可以不用考虑单引号闭合问题,用语句1’ or 1=1#,就可以查出所有ID内容
再用order by来查询字段信息,来判断表格的列数
最后用union查询
我们先找出库名
再找出列名,最后用group_concat就能找出flag
8.SQL Injection Blind(sql盲注)
先判断是什么注入
有回显,所以此处为字符型注入
再找库名
9.XSS DOM
去查阅资料得知要用js来解决问题
详情可去链接查看js
https://blog.csdn.net/qq_38490457/article/details/109257751?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170546988416800182135663%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=170546988416800182135663&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-109257751-null-null.142v99pc_search_result_base7&utm_term=js&spm=1018.2226.3001.4187
10.XSS Reflected(xss反射)
先查看代码,发现没有过滤
再随便输入,多试试不同的输入,我们可以发现只有url处name后面发生变化了
我们可以试着输入
我们再用js来读取用户信息
11.XSS Stored(xss存储)
发现输入内容被储存
我们在name处输入1,在message处输入代码(因为name处又长度限制,不能完整输入代码)