探测XSS过程
1、构造一个独一无二且不会被识别为恶意代码的字符串用来提交到页面。
例如:123qweasdzxc
2、使用浏览器审查工具进行代码审查,寻找构造的字符串是否在页面中显示。
闭合文本标签利用XSS
1、简单Payload:<script>alert(document.domain);</script>
2、闭合标签Payload: xxx"</b><script>alert(document.domain);</script>
配置Chrome关闭XSS-Auditor:配置 chrome --args --disable-xss-auditor
属性中的XSS
用户提交输入的内容作为某个标签的属性进行输出时,这是就可以根据提交的内容找到内容位置利用XSS。通过闭合引号、尖括号、引入script脚本。
"><script>alert(socument.domain);</script>
" onmouseover=alert(document.domain)>
选择列表中的XSS
select元素可创建单选或多选菜单。
元素中的标签用于定义列表中的可用选项。
而HTML表单用于搜集不同类型的用户输入
使用Burpsuite截取HTTP请求,修改提交参数
隐藏参数中的XSS
隐藏域是用来收集发送信息的不可见元素,对于网页的访问者来说,隐藏域是不可见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上。
代码格式举例:<input type="hidden" name="..." value="...">
HTML中svg标签
SVG意为可缩放矢量图形(scalable Vector Graphics)
SVG使用XML格式定义图像
SVG文件可通过以下标签嵌入HTML文档:、、
也可以使用svg标签插入。
"><svg onload=alert(document.domain)>%0a
HTML表单文本框
HTML表单用于搜集不同类型的用户输入。表单元素指的是不同类型的input元素、复选框、单选按钮、提交按钮等等。text定义常规稳步输入。
属性介绍:
value属性规定输入字段的初始值
readonly属性规定输入字段为只读(不能修改)
disabled属性规定输入字段是禁用。被禁用的元素是不可用和不可点击的。被禁用的元素不会被提交。
size属性规定输入字段的尺寸(以字符计)
maxlength属性规定输入字段允许的最大长度,如设置maxlength属性,则输入控件不会接受超过所允许数的字符。该属性不会提供任何反馈。如果需要提醒用户,则必须编写JavaScript代码。
参考文档:http://www.w3school.com.cn/html/html_form_attributes.asp
HTML事件
在现代浏览器中都内置有大量的事件处理器。这些处理器会监视特定的条件或用户行为,例如鼠标单击或浏览器窗口中完成加载某个图像。通过使用客户端Javascript,可以将某些特定的事件处理器作为属性添加给特定的标签,并可以在事件发生时执行一个或多个Javascript命令或函数。