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:javascript:alert(1)
解码结果是:javascript:alert(1)
使用其他语句绕过
待更新