1 问题复现
(1)登录DVMA后,设置DVWA Security为Low。
(2)进入File Inclusion,访问dvwa/vulnerabilities/fi目录下的的test.txt文件(自己创建的测试文件)。
(3)报错ERROR: File not found! 找不到文件。
2 抓包分析
(1)使用BurpSuit抓包。
访问test.txt文件的请求中,Cookie有两个security键;导致设置DVWA Security为Low没有成功。
(2)在浏览器中查看“设置DVWA Security为Low”时,服务端Set Cookie情况。
在Set SessionId时指定了使用路径;而Set Security是没有指定路径。
(3)Cookie的属性。
3 修复服务端代码
(1)查看服务端setcookie的php代码。
发现没有给security指定使用路径。
(2)修改setcookie()中security的路径为“/”。
(3)PHP setcookie()函数。
语法:setcookie(name,value,expire,path,domain,secure)
4 验证结果
(1)清除浏览器Cookie。
(2)重新登录DVMA,再次设置DVWA Security为Low。
Set SessionId的路径和Set Security的路径一致。
(3)进入File Inclusion,访问dvwa/vulnerabilities/fi目录下的的test.txt文件。
成功读取到文件内容,并且请求Cookie中只有一个security键。