Web应用程序漏洞——URL跳转

Web应用程序漏洞-URL跳转

第一步,打开网络拓扑,启动实验虚拟机,分别查看虚拟机IP地址:

Kali Linux

Web应用程序漏洞——URL跳转_第1张图片

Windows2003

Web应用程序漏洞——URL跳转_第2张图片

Windows 7

Web应用程序漏洞——URL跳转_第3张图片

第二步,使用Kali Linux中的浏览器访问Windows2003靶机

http://172.16.1.200/admin(靶机IP地址)

Web应用程序漏洞——URL跳转_第4张图片

第三步,打开终端,启动BurpSuite:

burpsuite &

Web应用程序漏洞——URL跳转_第5张图片

第四步,进入Proxy标签,在Options中可以看到默认正在监听8080端口

Web应用程序漏洞——URL跳转_第6张图片

第五步,在浏览器设置中配置代理

Web应用程序漏洞——URL跳转_第7张图片

Web应用程序漏洞——URL跳转_第8张图片

Web应用程序漏洞——URL跳转_第9张图片

第六步,在管理员登录界面输入任意用户名和密码,BurpSuite拦截到一个数据包,该请求指向/admin/index.php,直接点击“Forward”放行

Web应用程序漏洞——URL跳转_第10张图片

第七步,三秒后拦截到第二个数据包,数据包指向re-direct.php,通过GET方法发送了变量where值为/,点击“Forward”放行,并迅速观察浏览器变化

Web应用程序漏洞——URL跳转_第11张图片

第八步,在放行该数据包后,浏览器显示内容如下

Web应用程序漏洞——URL跳转_第12张图片

第九步,推测where的值为延迟跳转的地址,构造新的URL:

/re-direct.php?where=/admin

Web应用程序漏洞——URL跳转_第13张图片

Web应用程序漏洞——URL跳转_第14张图片

证实re-direct.php存在URL跳转漏洞。它可以用于用户欺骗。

第十步,我们可以使用Kali Linux仿写一个后台登录的页面,通过靶机的re-direct.php指向Kali Linux的地址。

例:

http://172.16.1.200/re-direct.php?where=http://172.16.1.100/admin

浏览Kali Linux中的/var/www/html/admin目录

Web应用程序漏洞——URL跳转_第15张图片

/var/www/html是默认的网站目录;

index.php:

Web应用程序漏洞——URL跳转_第16张图片

在admin目录下,index.php为提前准备好的钓鱼页面,当在index.php中填写用户名密码并点击登录按钮后,会触发save.php,将用户名和密码信息自动保存到data.txt当中

Web应用程序漏洞——URL跳转_第17张图片

第十一步,开启Apache网站服务:

service apache2 restart

第十二步,使用Windows 7测试访问Kali Linux的admin页面

Web应用程序漏洞——URL跳转_第18张图片

第十三步,利用靶机中的re-direct.php组成一个新的钓鱼URL,该URL来自172.16.1.200,但它会跳转至钓鱼网站。并模拟受害者访问:

http://172.16.1.200/re-direct.php?where=http://172.16.1.100/admin

Web应用程序漏洞——URL跳转_第19张图片

Web应用程序漏洞——URL跳转_第20张图片

第十四步,save.php被调用

Web应用程序漏洞——URL跳转_第21张图片

第十五步,查看/var/www/html/admin/data.txt文件,用户名密码已被恶意获取并保存

Web应用程序漏洞——URL跳转_第22张图片

实验结束,关闭虚拟机。

【总结思考】

理论上讲,URL跳转属于CSRF的一种,我们需要对传入的URL做有效性的认证,保证该URL来自于正确的地方。

你可能感兴趣的:(Web应用程序漏洞,php,apache,服务器,python,运维)