写在最后
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
复现条件:
环境: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_frameset" href=javascript;alert(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代码
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!