尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

初识XSS漏洞

初识XSS漏洞 /* MD / 富文本中的 .toc含博客园搬家等嵌套结构.toc-box 在侧栏不受影响 */ #content_views .toc, /* 编辑器常在目录前后插入空 p:empty 仍占 20px一并去掉避免顶空隙 */ #content_views.markdown_views p:empty:has( .toc), #content_views.markdown_views .toc p:empty, /* 富文本旧版目录标记 */ #content_views.htmledit_views #main-toc, #content_views.htmledit_views #hr-toc, #content_views.htmledit_views p[id*“-toc”] { display: none !important; } /* 目录去掉后紧跟的首个标题不再多出一块上边距 */ #content_views.markdown_views .toc h1, #content_views.markdown_views .toc h2, #content_views.markdown_views .toc h3, #content_views.markdown_views .toc h4, #content_views.markdown_views .toc p:empty h1, #content_views.markdown_views .toc p:empty h2, #content_views.markdown_views .toc p:empty h3, #content_views.markdown_views .toc p:empty h4 { margin-top: 0 !important; }Day1–初识XSS漏洞一、初识XSS1、什么是XSSXSS全称跨站脚本(Cross Site Scripting)为避免与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆故缩写为XSS。这是一种将任意 Javascript 代码插入到其他Web用户页面里执行以达到攻击目的的漏洞。攻击者利用浏览器的动态展示数据功能在HTML页面里嵌入恶意代码。当用户浏览改页时这些潜入在HTML中的恶意代码会被执行用户浏览器被攻击者控制从而达到攻击者的特殊目的如 cookie窃取等。2、XSS产生原因、漏洞原理形成XSS漏洞的主要原因是程序对输入和输出的控制不够严格导致“精心构造”的脚本输入后在输到前端时被浏览器当作有效代码解析执行从而产生危害。3、XSS会造成哪些危害攻击者通过Web应用程序发送恶意代码一般以浏览器脚本的形式发送给不同的终端用户。当一个Web程序的用户输入点没有进行校验和编码将很容易导致XSS。1、网络钓鱼包括获取各类用户账号2、窃取用户cookies资料从而获取用户隐私信息或利用用户身份进一步对网站执行操作3、劫持用户浏览器会话从而执行任意操作例如非法转账、强制发表日志、电子邮件等4、网页挂马5、获取客户端信息如用户的浏览历史、真实p、开放端口等6、强制弹出广告页面、刷流量等7、进行恶意操作如任意篡改页面信息、删除文章等8、进行大量的客户端攻击如ddos等9、结合其他漏洞如csrf实施进步危害10、提升用户权限包括进一步渗透网站11、控制受害者机器向其他网站发起攻击12、传播跨站脚本蠕虫等4、XSS的防御形成XSS漏洞的主要原因是程序对输入和输出的控制不够严格导致“精心构造”的脚本输入后在输到前端时被浏览器当作有效代码解析执行从而产生危害。因此在XSS漏洞的防范上一般会采用“对输入进行过滤”和“输出进行转义”的方式进行处理: 输入过滤对输入进行过滤不允许可能导致XSS攻击的字符输入; 输出转义根据输出点的位置对输出到前端的内容进行适当转义;5、XSS常见出现的地方1、数据输出的地方输入用户资料关键词、标签、说明文件上传的地方(如头像等)2、数据交互的地方Get、Post、cookies、headers等反馈与浏览处富文本编辑器处各类标签插入和自定义处6、XSS的分类①、反射型XSS又称非持久型XSS这种攻击方式往往具有一次性只在用户单击时触发。跨站代码一般存在链接中当受害者请求这样的链接时跨站代码经过服务端反射回来这类跨站的代码通常不存储服务端产生原因:漏洞产生原因一般是网站只是简单地将用户输入的数据直接或未经过完善的安全过滤就在浏览器中进行输岀导致输岀的欻据中存在可被浏览器执行的代码数据攻击流程:First:攻击者寻找具有漏洞的网站---攻击者给用户发了一个带有恶意字符串的链接---用户点击了该链接---服务器返回HTML文档此时该文档已经包含了那个恶意字符串---客户端执行了植入的恶意脚本XSS攻击就发生②、存储型XSS存储型XSS Stored xss Attacks也是持久型XSS比反射型XSS更具有威胁性。。攻击脚本将被永久的存放在目标服务器的数据库或文件中。这是利用起来最方便的跨站类型跨站代码存储于服务端比如数据库中)产生原因:造成漏洞原因一般是由于Web应用程序对用户输入数据的不严格导致Web应用程序将黑客输入的恶意跨站攻击数据信息保存在服务端的数据库或其他文件形式中。 攻击流程:First:用户提交了一条包含XSS代码的留言到数据库---当目标用户查询留言时那些留言的内容会从服务器解析之后加载出来浏览器发现有XSS代码就当做正常的HTML和JS解析执行③、DOM型XSSDoM是文档对象模型 Document Object Model的缩写。它是HTML文档的对象表示同时也是外部内容例如 JavaScript与HTML元素之间的接口。解析树的根节点是“ Document对象。DOM Document object model使用DOM能够使程序和脚本能够动态访问和更新文档的内容、结构和样式。它是基于DoM文档对象的一种漏洞并且DOM型XSS是基于JS上的并不需要与服务器进行交互。其通过修改页面DOM节点数据信息而形成的ⅩSS跨站脚本攻击。不同于反射型XSS和存储型XSS基于DOM的XSS跨站脚本攻击往往需要针对具体的 Javascript DOM代码进行分析并根据实际情况进行XSS跨站脚本攻击的利用。一种基于DOM的跨站这是客户端脚本本身解析不正确导致的安全问题攻击流程:---攻击者寻找具有漏洞的网站---攻击者给用户发了一个带有恶意字符串的链接---用户点击了该链接---服务器返回HTML文档但是该文档此时不包含那个恶意字符串---客户端执行了该HTML文档里的脚本然后把恶意脚本植入了页面---客服端执行了植入的恶意脚本XSS攻击就发生了7、常见标签标签图片加载错误时触发img srcx onerroralert(1)img src1 onerroreval(alert(xss))鼠标指针移动到元素时触发img src1 onmouseoveralert(1)鼠标指针移出时触发img src1 onmouseoutalert(1)a标签a hrefhttps://www.qq.comqq/aa hrefjavascript:alert(xss)test/aa hrefjavascript:a onmouseoveralert(/xss/)aa/aa href onclickalert(xss)a/aa href onclickeval(alert(xss))aa/aa hrefkycg.asp?ttt1000 onmouseoverprompt(xss) y2016aa/aform标签form actionjavascript:alert(xss) methodgetform actionjavascript:alert(xss)form methodpost actionaa.asp? onmouseoverprompt(xss)form methodpost actionaa.asp? onmouseoveralert(xss)form action1 onmouseoveralert(xss)form methodpost actiondata:text/html;base64,scriptalert(xss)/scriptform methodpost actiondata:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4iframe标签iframe onloadalert(xss);/iframeiframe srcjavascript:alert(xss)/iframeiframe srcdata:text/html,lt;scriptgt;alert(xss)lt;/scriptgt;/iframeiframe srcdata:text/html;base64,scriptalert(xss)/scriptiframe srcdata:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4iframe srcaaa onmouseoveralert(xss) /iframeiframe srcjavascriptcolon;promptlpar;xssrpar;/iframe(只有两个)svg标签svg onloadalert(1)input标签input onfocusalert(xss);竞争焦点从而触发onblur事件input onbluralert(xss) autofocusinput autofocus通过autofocus属性执行本身的focus事件这个向量是使焦点自动跳到输入元素上,触发焦点事件无需用户去触发input onfocusalert(xss); autofocusinput namename valueinput value onclickalert(xss) typetextinput namename value onmouseoverprompt(xss) badinput namename valuescriptalert(xss)/script按下按键时触发input typetext onkeydownalert(1)按下按键时触发input typetext onkeypressalert(1)松开按键式时触发input typetext onkeyupalert(1)8、XSS总结与拓展1、输岀在JS中空格被过滤使用/**/或者/代替空格2、输入在标签间的情况下测试**是否被过滤或转义若没有被过滤可直接img src1 onerroralert(1)。等等**以上就是今天的分享觉得有帮助记得点赞收藏以上所说到的漏洞扫描工具都整理成压缩包了朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】同时还为准备学习网络安全黑客或者正在学习整理了一套360独家内部资料包含以下内容如有需要也可文末获取①网络安全学习路线②20份渗透测试电子书③安全攻防357页笔记④50份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦100个漏洞实战案例⑧安全大厂内部视频资源⑨历年CTF夺旗赛题解析一、网络安全黑客学习路线网络安全黑客学习路线形成网络安全领域所有的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。二、网络安全教程视频我们在看视频学习的时候不能光动眼动脑不动手比较科学的学习方法是在理解之后运用它们这时候练手项目就很适合了。三、网络安全CTF实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这里带来的是CTFSRC资料HW资料毕竟实战是检验真理的唯一标准嘛~四、网络安全面试题最后我们所有的作为都是为就业服务的所以关键的临门一脚就是咱们的面试题内容所以面试题板块是咱们不可或缺的部分这里我给大家准备的就是我在面试期间准备的资料。网安其实不难难的是坚持和相信自己我的经验是既然已经选定网安你就要相信它相信它能成为你日后进阶的高效渠道这样自己才会更有信念去学习才能在碰到困难的时候坚持下去。机会属于有准备的人这是一个实力的时代。人和人之间的差距不在于智商而在于如何利用业余时间只要你想学习什么时候开始都不晚不要担心这担心那你只需努力剩下的交给时间这份完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表