csrf(跨站请求伪造)
我们先来分析一下源代码
当我们选择更改密码时,我们输入新密码和重复新密码,当新密码和重复的密码一致时将我们的新密码与数据库中的旧密码进行替换即更新数据库
因此我们可以引导该用户点击http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=1234&password_conf=1234&Change=Change#
其密码就会被我们更改为password_new后面的密码即1234(前提该链接中的password_new和password_conf后的密码一致)
但弊端会出现更改成功的红色字体导致用户发现密码已被修改,因此我们需要做一些工作使用户不会发现,我这里是使用html做了一个错误访问的网页但实际用途为引导用户点击链接
以达到修改密码
中级难度则是加入了对HTTP_REFERER和SERVER_NAME是否一致的检查
我们刚刚所写的网站只有host没有refer所以无法成功修改(我们可以用burp suite抓包查看host和refer)
我们需要在phpstudy的根目录下创建一个与refer名字相同的文件夹,再将html文件放入文件夹中,运行文件夹即可修改密码
文件包含
初级我们可以随意查看文件,只需在搜索栏的page后面添加文件路径,但红框提示我们只能查看本地文件,我们想远程查看需要在phpstudy中找到php.ini文件用记事本打开,查看allow_url_include,将第二个改为On再保存
中级则对路径一些字符进行了过滤,中间再加一个tp:\\即可
高级则强制我们需要在前面加file导致我们只能访问本地文件
更高级只是更加限制了我们访问文件的类型