XSS笔记

XSS笔记–暂时

有提交框,get传参,可以在HTML页面看见回显

1攻击流程

1先提随便几个参数交看哪里可以得到回显
2跟据参数位置判断闭合方式在写入<script>alert(1)</script>
3查看源码看提交后语句在HTML中的样子来判断字符如何被过滤
4然后在根据过滤写入新的语句

2<>没被过滤标签的使用

1.<script>

在页面中插入一段JavaScript,可以引用外部的JavaScript代码,也可以将代码插入脚本标记中。HTML代码:

<script type="text/javascript">
document.write("Hello World!")
</script>

<script>是最直接的可以用来构造XSS语句的标签

在页面中没有对<>进行过滤,和可以对script过滤绕过时使用。

2.<a>

<a> 标签定义超链接,用于从一张页面链接到另一张页面。

<a> 元素最重要的属性是 href 属性,它指示链接的目标。

href="javascript:"

在触发<a>默认动作时,执行一段JavaScript代码

语句"><a href="javascript:alert(1)

注意:

  • 后面一定要有文字可以用来触发该标签,如xss-labs第5关

  • 题目可能会对链接进行检查是否为网址只需要在最后加上http://并注释

3<>被过滤事件

1.<input/>中使用 onclick

  • <input>标签标签用于搜集用户信息。

    #一个简单的 HTML 表单,包含两个文本输入框和一个提交按钮:
    <form action="form_action.asp" method="get">
      First name: <input type="text" name="fname" />
      Last name: <input type="text" name="lname" />
      <input type="submit" value="Submit" />
    </form>
    

    根据不同的 type 属性值,输入字段拥有很多种形式。输入字段可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等等(详情百度)。

  • onclick事件:在元素被点击时执行Javascript代码

    语句:' onclick='alert(1)

    注意:在哪插入就点击哪里,如在input插入后去点击input的输入框

    在没有type="text"可以自己插入

过滤

大小写绕过:对<script过滤大小写可以绕过,对script直解过滤无法绕过

双写绕过:把script替换成空,可以使用双写绕过

使用Unicode编码绕过

playload:&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;

解码结果是:javascript:alert(1)

使用其他语句绕过

待更新

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页