欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > xss笔记与打靶(更新中)

xss笔记与打靶(更新中)

2025/3/16 15:46:37 来源:https://blog.csdn.net/2401_88818565/article/details/145987818  浏览:    关键词:xss笔记与打靶(更新中)

这个文章好
https://blog.csdn.net/huangyongkang666/article/details/123624164?fromshare=blogdetail&sharetype=blogdetail&sharerId=123624164&sharerefer=PC&sharesource=2401_88818565&sharefrom=from_link

什么是xss

XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的网络安全漏洞,攻击者在网页中嵌入客户端脚本,通常是js编写的危险代码,当用户使用浏览器浏览网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的。XSS 通常用于窃取用户信息、会话劫持、篡改网页内容或传播恶意软件。

如:盗取网站保存的cookie登陆其他用户,摄像头拍照

  1. 需要有xss接受平台
  2. 生成一段js文件
  3. 找到由xss漏洞的地方,植入js
  4. 等待受害者访问

发送的网址不要点,用虚拟机点

相关问题

网站:正常网站(有xss漏洞)
xss平台:js文件下载
客户端浏览器
js执行
js可以操作cookie

跨站脚本攻击:执行了其他网址上的恶意js文件

如何区别是不是同一个网站:
https
http
浏览器根据同源策略判断这两个是不是同一个网站

同源策略:
协议 + 主机(域名/IP) + 端口,任何一个地方不一样就不是同一个网站

浏览器是根据同源策略来单独存储每一个网站的cookie

漏洞产生原因

前端传入的数据没有做处理,变成了html的一部分来处理

处理指的是编码处理。
<变成了&lt;

在html语言里很注重<>
如何让语句里出现尖括号,用html实体符号

显示结果描述实体名称实体编号
空格&nbsp;&#160;
<小于号&lt;&#60;
>大于号&gt;&#62;

xss漏洞的危害

  1. 对于访问量小的网站,发生xss漏洞没什么用。一般在各类的社交平台,邮件系统,开源流行的web应用,博客等。造成的杀伤力十分强大。
  2. 劫持用户cookie是常见的跨站攻击形式,通过在网页中写入并执行脚本执行文件(多数情况下是js脚本代码),劫持用户浏览器,将用户当前使用的sessionID信息发送到攻击这控制的网站或服务器中
  3. “框架钓鱼”,利用js脚本的基本功能之一:操作网页的DOM树结构和内容,在网页中通过js脚本,生成虚假的页面,欺骗用户执行操作,而用户所有的输入内容会被发送到攻击者的服务器上。
  4. 挂马(水坑攻击)
  5. 有局域性的键盘记录

xss分类

  1. 反射型
  2. 存储型
  3. DOM型

挖漏洞,点到为止用alter()

反射型

中危漏洞
把http请求发送后又回到客户端前端代码中。

必须要点击url,http

别乱点什么别人发的网址

出现位置:搜索框

存储型

留言,到数据库

先有一个人,把数据存进数据库,又有人访问时,将数据库里的数据返回到客户端浏览器。

高危漏洞。

进入网站就触发

DOM型

js代码弹窗
alert
href
prompt(1)
能看懂前端js代码,不需要给服务器发http请求

xss漏洞存在位置

  1. 搜索框
  2. 登录框
  3. 发表评论/发表文章
  4. 其他输入框

常见的执行xss的html标签

xss执行方法:

  1. 使用<script>alert(111)</script>
    有的客户端会有过滤,将script替换为空
  2. <img src=xx onerror="alert(111)">
  3. <a href=xx onclick="alert(111)"></a>
  4. <svg olnload="alert(111)">
  5. 可以去网上搜索‘

xss防御

xss防御的总体思路是:对输入进行过滤,单引号,双引号,尖括号之类,对输入进行编码

过滤:根据业务需求进行过滤,比如输入点要求输入手机号,则只允许输入手机号格式的数字

转义:所有输出到前端的数据都是根据输出点进行转义,比如输入到html中进行html实体转义,输入到js里面的进行js转义

xss之href输出绕过:javascript:alert(111),直接带入a标签href里面一样可以绕过htmlspecialchars,如果没有用户提交的数据交给a标签,其实很难绕过

xss-labs

1

url?name=

2 转义

再试一下1没成功
看到网页源码,发现特殊符号没有转义

">  <script>alert()</script>

3 onclick

先试一下
看看源代码,这里是单引号闭合,并且符号被实体化

htmlspecialchars()函数将一些预定义的字符转换为html实体

没对’设置,可以用onfocus或者onclick

js’ οnclick=‘alert(111)’
'将value闭合
但是我再搜索框中不行,闭合不了,但再开发者工具里编辑html元素可以

4

这里和3一样,不过将’改为"就行

5 a href

我咋感觉f12中,找到需要更改的位置编辑为html元素就行

正常先试试3的payload发现不行,所有带on的语句在on中间会加入_,那这里用a href标签
" > <"

6 大小写

这一关href也不行了
过滤了好多,看看大小写能不能绕过

发现大小写没有被过滤掉,这题能利用大小写进行绕过,所以我们可以用下面的方法,构造payload

用上面的改成部分大写
“> <”

7 的、双写

先上关键字试试看
由源码
这里面进行了小写转化,将检测出来的on,script,href给删掉了,但是没有关系,我们可以利用双拼写来绕过。

我是l" oonnclick=‘alert(123)’

8 编码

输入的值在两个,input标签,href属性

看看过滤了啥关键字

input标签添加了html实体转化函数还把双引号也给实体化了, 添加了小写转化函数,还有过滤掉了src、data、onfocus、href、script、"

利用href的隐藏属性自动Unicode解码,将之前的payload编码

javascript:alert(123)

9

这一关有检查,需要向传入的值里面添加http://并用注释符注释掉否则会执行不了无法弹窗

javascript:alert()/* http:// */

10 隐藏传参

没搜索框

看到源代码,有隐藏传参,并过滤掉了<>号,不能闭合插入标签,但是我们还能用on
click事件,因为这里输入框被隐藏了,需要添加type=“text”

?t_sort="οnclick=‘alert(11)’ type="text

11 referer抓包

试试和上一关一样的
发现被转义
?t_sort="οnclick=‘alert(11)’ type="text
其他的传参也试试了发现不行

难搞查了一下,t_ref的标签是http头referer的参数(就是由啥地址转跳到这里的,http头的referer会记录有)

那进行抓包传参
把大于小于号><给删掉了

抓包之后构造请求

Referer:js" οnclick=‘alert(111)’ type="text

12 User-Agent

和11一样看到网页源代码可以看到,t_ua

在User-Agent中清除加入:js" οnclick=‘alert(111)’ type="text

13 cookie

t_cook,想到cookie
f12
cookie名为user,我们直接在这里改一下就好

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词