花店网站建设课程设计,重庆住房建设部网站,重庆找工作的网站,我想做个百度网站怎么做XSS常见的触发标签_xss标签_H3rmesk1t的博客-CSDN博客
该补习补习xss漏洞了
漏洞原理
网站存在 静态 和 动态 网站
xss 针对的网站 就是 动态网站
动态网站会根据 用户的环境 与 需求 反馈出 不同的响应静态页面 代码写死了 只会存在代码中有的内容
通过动态网站 用户体…XSS常见的触发标签_xss标签_H3rmesk1t的博客-CSDN博客
该补习补习xss漏洞了
漏洞原理
网站存在 静态 和 动态 网站
xss 针对的网站 就是 动态网站
动态网站会根据 用户的环境 与 需求 反馈出 不同的响应静态页面 代码写死了 只会存在代码中有的内容
通过动态网站 用户体验会大大加深 但是会存在漏洞 xss
XSS 是一种注入漏洞通过用户输入 在代码页中插入 恶意语句 从而实现注入攻击成功 可以获取但不止 COOKIE 会话 和 隐私页面
首先我们来看看最简单
?php$xss $_GET[name];
echo $xss;?
然后我们通过 get 传递漏洞
scriptalert(1)/script xss需要通过php的输出指令来输出
我们通过做题目来继续了解吧
打开靶场
Level1 【无过滤】 我们能发现 这三个地方
然后我们回去看看源代码 能发现 我们输入什么 他就存储在源代码什么
这里就是动态的
如果和sql注入一样 我们插入恶意代码呢
scriptalert(1)/script这里通过 alert 来弹窗这里 script 表示 JavaScript代码 / 表示结束了那么这里插入后h2 aligncenter欢迎用户test1/h2centerimg srclevel1.png/center就变为了h2 aligncenter欢迎用户test1scriptalert(1)/script/h2centerimg srclevel1.png/center实现了 alert 弹窗
我们就实现了 第一题
Level2 【参数】
我们依然看看源代码 这里我们发现了 我们输入的值 被当做参数了
value1
这里我们就想到了 sql注入的闭合了
script标签
value1如果我们自己将其闭合呢我们输入 就会变为value这里 其实就是value
然后我们构造恶意代码valuescriptalert(1)/script
就会实现xss注入
所以payload 就是
scriptalert(1)/script img标签
src
是资源的标签
一般
img src/i/eg_tulip.jpg /
这样使用
如果读取不到 我们可以设置 onerror属性 来输出内容 这里就存在 xss img src666 onerroralert() onmouseout 鼠标移出图片
附属于 img 下的属性
payload为 img src666 onmouseoutalert()
onmouseover 鼠标移动到图片 img src666 onmouseoveralert() data 伪协议
这里是利用 iframe标签 iframe srcdata:text/html;base64,PHNjcmlwdD5hbGVydCgpPC9zY3JpcHQ PHNjcmlwdD5hbGVydCgpPC9zY3JpcHQ 为 sricptalert()/sricpt Level3 【htmlspecialchars】
我们查看代码 没有发现和上一题有什么不一样的
所以我们去继续使用上题的payload
scriptalert(1)/script 发现被实体化了
并且只过滤了
这里我们就需要想到是htmlspecialchars
我们去看xsslab源代码 确实是这样 这里其实预定义了转义的内容 因为单引号没有被转义 但是其实可以实现的
转换为amp;
转换为quot;
转换为成为
转换为lt;
转换为gt;发现就是为了让 里面的转变为字符串 失去闭合作用
单引号绕过
这里我们需要通过 绕过
因为我们的 会被实体化所以我们需要运用不需要的payload我们可以利用 onfocus 事件onfocus事件
当 页面中存在 输入框等 需要存在点击的界面时onfocus 就可以被触发 这里就存在一个很明显的例子
既然 onfocus可以出发函数 那么我们就可以通过执行
这里就可以写入payload
onfocusjavascript:alert()
这样就可以绕过 过滤
那我们如何执行呢
我们输入一个 时变成了下面这个
value 我们输入 abcd变为了value abcd我们输入 payload onfocusjavascript:alert(1) 就会变为value onfocusjavascript:alert(1) 从而实现了闭合
所以最终payload onfocusjavascript:alert(1)
Level4 【过滤】
我们首先可以判断是否存在过滤 发现只有3个了 过滤了
用上题目的payload onfocusjavascript:alert(1)
失效了
我们看看代码 进行修改payload onfocusjavascript:alert(1)
Level5 【过滤script】
我们使用第一题的payload直接上去 发现 script 变为了 scr_ipt
我们去看看源代码 发现过滤了 on 和 script
所以我们使用其他方式
a herf
html
p123/p
a hrefjavascript:alert(yes)xxxxxx/a
/html
我们先给出payload
然后我们解释一下 通过 a标签 然后点击 我们可以实现跳转等操作
既然可以实现跳转 那我们也可以实现 执行JavaScript命令
我们开始做题
我们先传入内容
a hrefjavascript:alert()xxxxxx/a 我们需要闭合 所以修改paylaod a hrefjavascript:alert()xxxxx/a 还需要将后面的 闭合
所以最后的payload为 a hrefjavascript:alert()xxxxx/a 点击即可实现
Level6 【过滤 a href】
我们把上面的 payload 丢进去看看 发现 过滤 了 a href 但是放出来了 大小写 所以我们可以
大小写绕过 ScRiptalert()/ScRipt
或者 a HrEfjavascript:alert()xxxx/a
又或者 Onfocusjavascript:alert()
Level7 【替换为空】
我们先上关键词看看 Onfocus ScRipt a Hrefjavascript:alert()
能发现返回值是 focus a java:alert()
全部替换为空了
这里我们使用
双写绕过
开始构造 OOnnfocusjavascscriptript:alert() a hrhrefefjavascscriptript:alert()xx/a
Level8 【a href标签自动url解码】
更新一下 关键词 sRc DaTa OnFocus sCriPt a hReFjavascript:alert()
看看过滤了啥 这里为什么我们无法直接通过input来xss 因为存在 htmlspecialchars函数 会吧我们输入的内容
直接作为字符串输出 引号被过滤了 无法实现闭合 所以没有用了
我们需要通过下面的 a href标签输出了
但是下面又存在过滤
我们如何实现呢
其实
a href 存在自动解密 url的功能
所以我们只需要通过编码绕过 过滤 如何通过 a href 编码执行即可
javascript:alert()#106;#97;#118;#97;#115;#99;#114;#105;#112;#116;#58;#97;#108;#101;#114;#116;#40;#41;unicode编码
直接输入即可
然后点击 友情链接即可
Level9 【判断http在不在标签内】
我们看看源代码 strpos 查看 http://是否在 输入里面 如果不在 输出不合法
这里就好办了
我们通过注释输入http://即可
运用上一道题目的payload
#106;#97;#118;#97;#115;#99;#114;#105;#112;#116;#58;#97;#108;#101;#114;#116;#40;#41; /* http:// */ 这里就看到 http:// 是被注释掉了
Level10 【闭合 fake hidden】
看看源代码 发现需要另一个来传递
我们这里并且过滤了
但是其实还是很简单的 onfocusjavascript:alert() typetext Level11 【Referer注入】
我们再来看看源代码 通过referer
为什么无法通过 t_sort
因为 htmlspecialchars 无法闭合 会被实体化
所以我们通过 referer来进行 xss
referer 的内容 就和 上面一样 onfocusjavascript:alert() typetext Level12 【UA注入】 onfocusjavascript:alert() typetext Level13 【cookie注入】 onfocusjavascript:alert() typetext Level14 【通过图片属性实现xss】
这里我的小皮环境有问题 无法实现文件上传
这里 主要就是通过 图片的属性解析 然后我们写入 xss语句
这样就会报错
[靶场] XSS-Labs 14-20_3hex的博客-CSDN博客
Level15 【通过src访问文件执行】
这里的意思就是src是访问了 一个图片
那我们可以通过这个src访问第一题的php 然后通过 第一题的php来执行
但是我还是无法实现 可能我php没开启属性
xss-labs靶场实战全通关详细过程xss靶场详解-CSDN博客
Level16 【绕过空格】
XSS常见的触发标签_xss标签_H3rmesk1t的博客-CSDN博客 查看代码
发现过滤了 空格 和 /
首先就是查找一个不需要/的触发标签
这里我选择
videosource onerroralert(1)
其次需要绕过空格
我们可以首先看看 这两个空格是什么编码 那么这里面我们可以使用 %0a绕过
所以payload就是
videosource%0Aonerroralert(1) Level17
后面是 flash的插件了
我觉得没有必要做了 因为现在 flash已经被大多数浏览器抛弃了