信息安全第四天作业

目录

作业一:总结反射型、存储型、DOM型XSS特点和区别

作业二:XSS 的fuzz字典

作业三:到XSS挑战靶场打靶

Level1:

Level2:

Level3:

Level4:

Level5:

Level6:

Level7:

作业四:总结浏览器解析机制,解释《漏洞利用之XSS注入》中15条中,至少5条执行成功或不成功的原因。


作业一:总结反射型、存储型、DOM型XSS特点和区别

反射型XSS(Reflected XSS)

特点:

非持久性:攻击载荷(payload)不会存储在目标服务器上,而是通过URL参数、表单字段或HTTP头等方式传送到受害者的浏览器并执行。

特定用户攻击:只有当用户点击了含有恶意脚本的链接时,该链接中的脚本才会被执行,因此攻击是特定于点击该链接的用户的。

前端执行:恶意脚本在受害者的浏览器前端执行,不涉及服务器端的代码执行。

危害:

反射型XSS攻击可以窃取用户的cookie信息、会话令牌等敏感数据,进而进行进一步的攻击,如会话劫持、钓鱼攻击等。

存储型XSS(Stored XSS)

特点:

持久性:攻击者将恶意脚本植入到目标服务器的数据库或文件中,当其他用户访问这些页面时,恶意脚本会自动执行。

广泛影响:由于恶意脚本存储在服务器上,因此可以影响所有访问该页面的用户,危害面更广。

隐蔽性高:由于恶意脚本是存储在服务器上的,因此很难被用户直接发现。

危害:

存储型XSS攻击的危害性极大,除了可以窃取用户的敏感信息外,还可以利用用户的浏览器进行DDoS攻击、传播恶意软件等。

DOM型XSS(DOM-based XSS)

特点:

前端执行:与反射型和存储型XSS一样,DOM型XSS也是在受害者的浏览器前端执行恶意脚本。

不依赖服务器:DOM型XSS的发生不依赖于服务器端的代码执行,而是基于浏览器端的DOM操作。

动态内容:攻击通常与网页的动态生成内容有关,如JavaScript生成的内容。

危害:

DOM型XSS攻击同样可以窃取用户的敏感信息、修改页面内容或进行其他恶意活动。由于攻击发生在客户端,服务器端的日志可能不会记录任何异常,这使得检测和追踪变得更加困难。

区别:

反射性XSS

存储型XSS

DOM型XSS

持久性

非持久性

持久性

不依赖服务器持久性

攻击范围

特定用户

广泛影响

特定用户或广泛影响(取决于DOM操作)

执行环境

浏览器前端

浏览器前端

浏览器前端

依赖

URL参数、表单字段等

服务器端数据库或文件

浏览器DOM操作

隐蔽性

中等

较高(服务器日志可能无记录)

防护难度

中等

较高(需后端保护)

较高(需前端和后端共同防护)

反射型、存储型和DOM型XSS在持久性、攻击范围、执行环境、依赖和隐蔽性等方面存在明显的区别。为了有效防护XSS攻击,需要针对不同类型的XSS采取相应的防护措施。

作业二:XSS 的fuzz字典

github上的一份XSSpayload字典。并且每一个可以注入成功之后都会alert不同的值。fuzzDicts/easyXssPayload/easyXssPayload.txt at master · TheKingOfDuck/fuzzDicts (github.com),字典截图如下:

作业三:到XSS挑战靶场打靶

Level1:

右键选择查看网页源代码:

可见JavaScript脚本把alert弹窗设置为了下一关的入口,绑定给了test。我们修改网页url把test替换为<script>alert()</script>

Level2

查看网页源代码,如图:

可见test被绑定给了页面的输入框,为了实现我们的JavaScript代码就必须先闭合test外的两个双引号“”和input的两个书名号><。构建代码">  <script>alert()</script>  <"

Level3

查看网页源代码:

比较上一关可以发现上一关的input使用双引号“”,这一关使用了单引号''。构建代码'>  <script>alert()</script>  <' ,进入页面输入框,发现未能通过

查看页面源代码,发现我们输入的书名号被htmlspecialchars函数改成了文本的形式,但是输入的单引号‘没有被修改。

我们只用单引号,利用onmouseover函数构建一个新的测试代码' οnmοuseοver=javascript:alert() ',发现通关成功:

Level4

网页源代码:

可见中间的try harder!为输入框内容,会被h2打印出来。使用了双引号

我们构建与第三关所用类似的代码" οnmοuseοver=javascript:alert() ",通关成功:

Level5

网页源代码:

看上去和第四关的情况类似,先输入第四关代码试试。

"> <a href=javascript:alert()>xss</a> <"

Level6

查看网页源代码:

用大小写绕过"> <sCript>alert()</sCript> <":

Level7:

查看源代码:

我们把我们在第六关所用的测试步骤简化为一条代码" OnMouseOver <sCriPt> <a hReF=javascript:alert()>输入进行测试

输出后的结果在网页里变成了" mouseover <> <a =java:alert()>"对比可知可能该这关使用了某种代码方法,不仅把我们输入的所有大写字符变成了小写,而且把我们输入的代码中的关键词直接删去了。比如script,herf,on。

针对这种情况我们用双写法来应对。原理是输入oonnmouseover,系统检测到on关键词删去后,剩下的字符组成onmouseover生效"oonnmouseover=javascrscriptipt:alert() "

作业四:总结浏览器解析机制,解释《漏洞利用之XSS注入》中15条中,至少5条执行成功或不成功的原因。

浏览器的解析机制主要涉及到以下几个关键步骤:

URL解析与缓存检查:

浏览器首先解析输入的URL,识别协议(如HTTP、HTTPS)、域名、端口号和路径等信息。

接着检查本地缓存(浏览器缓存、系统缓存、ISP缓存等)中是否已有对应资源的副本。如果找到且未过期,则直接从缓存中加载资源,以节省时间和带宽。

DNS域名解析:

如果本地缓存中没有找到所需资源,浏览器会进行DNS查询,以获取域名对应的IP地址。

DNS查询可能涉及多个DNS服务器,最终找到对应的IP地址。

建立连接与发送请求:

浏览器使用IP地址与服务器建立TCP连接(对于HTTPS,还会进行SSL/TLS握手以加密通信)。

发送HTTP请求到服务器,请求指定的资源。

服务器响应与资源接收:

服务器处理请求,并返回HTTP响应,包括状态码、响应头和响应体(即请求的资源)。

浏览器接收响应,并根据需要缓存响应内容。

页面渲染:

浏览器解析HTML文档,构建DOM树。

加载并解析CSS样式表和JavaScript文件,构建渲染树。

结合DOM树和渲染树进行页面渲染,包括回流(reflow)和重绘(repaint)。

《漏洞利用之XSS注入》中5条执行成功或不成功的原因

在《漏洞利用之XSS注入》中,XSS(跨站脚本攻击)的成功与否取决于多个因素。以下是5条执行成功或不成功的原因:

输入过滤不严:

成功原因:如果网站没有对用户输入进行严格的过滤和转义处理,攻击者可以注入恶意脚本代码。这些代码在受害者浏览页面时被执行,导致XSS攻击成功。

不成功原因:如果网站对用户输入进行了严格的过滤和转义处理,将恶意脚本代码中的特殊字符(如<、>、"等)转换为HTML实体或进行其他形式的编码,那么恶意脚本将不会被执行,XSS攻击失败。

存储型与反射型XSS的区别:

成功原因(存储型XSS):攻击者将恶意脚本注入到网站的数据库中,这些数据在后续页面加载时被读取并显示,导致恶意脚本被执行。由于恶意脚本被存储在服务器上,攻击可以持续进行。

不成功原因(反射型XSS):如果网站仅将用户输入作为单次请求的一部分返回给用户,而没有将其存储在服务器上,那么恶意脚本将只在单次请求中生效,攻击效果有限。

浏览器安全策略:

不成功原因:现代浏览器通常具有内置的安全策略,如内容安全策略(CSP),这些策略可以限制或阻止某些类型的脚本执行。如果网站启用了这些安全策略,并且配置得当,那么XSS攻击可能会失败。

用户行为:

成功原因:XSS攻击的成功还取决于用户的行为。如果用户点击了包含恶意链接或脚本的邮件、消息或网页,那么攻击可能会成功。

不成功原因:如果用户具有较高的安全意识,不随意点击不明链接或下载未知来源的文件,那么XSS攻击的成功率将大大降低。

服务器配置:

不成功原因:服务器的配置也会影响XSS攻击的成功率。例如,如果服务器配置了适当的HTTP头部(如X-Content-Type-Options: nosniff),可以防止浏览器尝试基于内容猜测响应的MIME类型,从而减少XSS攻击的风险。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值