OWASP-TOP-10漏洞之XSS_渗透漏洞wotp10(3)

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2、利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。

3、利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。

4、利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。

5、在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDoS攻击的效果。

Part3复现案例

反射型(非持久型):

复现条件:

环境:windows11+phpstudyV8+php5.4.45+Apache

程序框架:禅知CMS v5.6

特点:反射型xss,三次urldecode

payload构造思路:

构造payload的时候,先在漏洞处构造最终想要执行的目标代码,而后确定如何通过get传参,使得参数值传递到漏洞处,能完整还原为目标代码。借助工具,明确了通过get方式传递的参数值,到达漏洞处所经历的处理流程,从而勾画出完整流程图。

该图直观地反映了payload或 poc代码(即 “><” )以参数值的形式经过的多次解码操作,因此在执行面向XSS的代码审计时,随手勾画参数处理流程图,能够方便清晰直观的辅助完成安全审计工作。

payload流程图:

复现漏洞:

首先我们把网站搭建好

然后我们开始构造payload链接

http://localhost/czcms/www/index.php/user-deny-%252522%25253E%25253Cscript%25253Ealert%2525281%252529%25253B%25253C%25252fscript%25253E%25253C%252522

代码被成功执行

我们来将payload解urldecode看看原型是什么

我这里解了三次url编码才将原型给解出来,也证明了我们的构造思路是没有问题的

回顾上面一系列的测试,我们对URL传参进行了三次编码:

1.URL进入服务器时自动进行一次默认解码

2.进入deny方法之前进行参数处理时,会通过mergeParams方法中的urldecode函数进行第二次解码

3.在创建连接操作helper::createLink()中,通过parse_str()函数进行第三次编码

存储型(持久型):

复现条件:

环境:windows11+phpstudyV8+php5.4.45+apache

程序框架:骑士cms V3.4.0

特点:存储型xss,过滤绕过

payload构造思路:

通过分析程序代码探查可控参数经过哪些变换最终导致漏洞发生的过程,以流程图的形式记录下来,最后采用自下而上的的逆推方式构建payload,流程图如下,在最末端构建payload为href=“javascript:alert(document.cookie)”,需要使用<img src=“闭合payload所在位置前后的标识符”,并且按照参数在流程图自下而上,路径上可能经历的解码和转换操作进行编码,从而触发和测试存储型xss漏洞

payload流程图:

复现漏洞:

首先我们搭建好靶场环境

然后我们注册一个企业用户并且登录账号

我们找到公司信息,然后先把基本信息填好,不然是进不到上传营业执照的地方的

然后我们来到上传营业执照的地方

我们在上传的时候就按照他给的格式上传即可

然后我们将他的图片地址复制出来,一会我们要用到

http://localhost/74cms/data/certificate/2021/12/27/1640606362579.jpg

我们开始构造payload链接

http://localhost/74cms"><?a class="admin_&#102;rameset" href=ja&#118;asc&#114;ipt;ale&#114t(document.cookie)?><img src=74cms/data/certificate/2021/12/27/1640606362579.jpg><?/a?><?b a="

光这样写好了payload还是不够的,我们要对他在进行一次编码,编码后的内容如下

http%3A%2F%2Flocalhost%2F74cms%22%3E%3C%3Fa%20class%3D%22admin_%26%23102%3Brameset%22%20href%3Dja%26%23118%3Basc%26%23114%3Bipt%3Bale%26%23114t(document.cookie)%3F%3E%3Cimg%20src%3D74cms%2Fdata%2Fcertificate%2F2021%2F12%2F27%2F1640606362579.jpg%3E%3C%3F%2Fa%3F%3E%3C%3Fb%20a%3D%22

然后我们找到系统首页下方的申请友链

这里的随便填写就好,但是一定易于辨认

然后我们在填写好之后提交的同时抓取他的数据包

将抓包的link_url参数值替换为之前编码过的payload

然后发送到重放攻击模块中发送数据包查看结果

好的,我们添加成功,然后我们登录后台,选择广告,点击友情链接进行查看,我们点击破损的图片

点击后就会弹出我们的cookie了

弹出了cookie就说明此漏洞存在,并且我们成功利用此漏洞拿到了cookie信息

DOM型:

复现条件:

环境:windows11+phpstudyV8+php5.4.45+apache

程序框架:discuzV5.4

特点:存储型DOMxss,bbcode ,实体编码绕过

payload构造思路:

通过分析得知,dz论坛是可以允许用户在发帖的时候将邮箱格式的内容自动转换为超链接的形式,由此可知我们包含在帖子里的payload代码未被过滤掉(过滤不严谨),导致只通过bbcode2html方法将bbcode形式的字符串内容转换为html语法内容,使payload或poc成功嵌入前端显示对象中。当鼠标移动到该对象时,触发执行我们的payload或者poc代码。跟踪post参数传递和处理过程,分析bbcode2html方法转换机制,是构造payload或poc的关键。

复现漏洞:

我们先把dz论坛搭建好

然后我们去注册一个账号

接下来我们去发一篇帖子

emmm,那就等两分钟吧

我们在发帖子的时候把我们的payload代码放进去,如下图所示

写好以后我们提交帖子

然后我们使用有修改权限的账号对这个帖子进行编辑

我们在保存新的帖子页面的时候将鼠标移动过这篇帖子,我们的xss代码将会被触发

经过测试只能是数字才可以,其他的都不行,数字与特殊符号组合使用直接过滤掉特殊符号,数字与字母组合,直接不触发xss代码

我们可以看到xss代码已经被嵌入HTML的DOM模型中了,并且有实际效果,漏洞复现成功

Part4防御方法

(1)基于特征的防御。

XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同。这就给XSS漏洞防御带来了困难,不可能以单一特征来概括所有XSS攻击。

传统的XSS防御在进行攻击鉴别时多采用特征匹配方式,主要是针对“javascript”这个关键字进行检索,但是这种鉴别不够灵活,凡是提交的信息中各有“javascript”时,就被硬性的被判定为XSS攻击。

(2)基于代码修改的防御。

Web页面开发者在编写程序时往往会出现一些失误和漏洞,XSS攻击正是利用了失误和漏洞,因此一种比较理想的方法就是通过优化Web应用开发来减少漏洞,避免被攻击:

**1)**用户向服务器上提交的信息要对URL和附带的的HTTP头、POST数据等进行查询,对不是规定格式、长度的内容进行过滤。

**2)**实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。

本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。

最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。

最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。

需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)

学习路线图

其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。

相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。

网络安全工具箱

当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。

项目实战

最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

面试题

归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值