这里用到的是最新版的CatFish CMS V4.8.75,是一款开源免费的个人博客及企业建站系统。
安装完成后我们先来看首页,有三个可以做输入的地方:搜索、评论、留言。本着见框就插的原则我们先来看搜索框,我们在搜索框注入测试代码:<script>alert(’1′)</script>再用burp suite改包提交:
我们将keyword的值修改为我们的测试代码后点击forward
可以看到测试代码并没有生效,应该是做了防护过滤,我们继续测试评论功能,这里有个限制,必须先登录再进行评论,我们注册一个账号,账号123密码123,这次我们修改一下我们的测试代码如下:
测试代码已经评论进去了但是并没有被触发,判断出这里对用户输入的内容也是做了过滤或者转义防护,我们同样的测试一下留言功能点。
在留言功能里面我们选择留言内容框插入我们的测试代码,像标题姓名跟邮箱框一般都会有一些字符类型、字符长度或特定格式的限制。跟上面一样我们输入测试代码后点击提交留言并使用burp修改数据包,但我们的测试代码还是没有被触发,好吧前台功能点测试没什么收获我们登入到后台看看:
后台功能点还是蛮多的,大致浏览一下,我们直接从写文章功能点开始测试:
我们点击代码编辑功能后插入我们的代码,然后发布,发布后我们在所有文章里面找到我们的测试文章并点击查看,我们的测试代码成功触发:
这个比较鸡肋的xss漏洞是我们通过黑盒审计程序功能点的方法找到的,那现在把漏洞出现位置的代码分析一波,并且在前面测试前台功能点的时候我们知道前台界面xss漏洞是被过滤替换掉的,我们用代码分析前后台在对于用户输入的内容分别做了怎么样的操作。
可能也有向我一样菜的不能再菜的的新手再做代码审计的时候在功能点发现了一些问题但不能快速的定位到该功能点所在的源码位置,其实用burp就可以快速定位:
我们打开代码并定位到发布文章的相关代码位置,漏洞位置在catfish\application\admin\controller\Index.php下的write方法中
可以看到在改方法里面有定义了一个标题函数$biaoti这一行,这一行代码对用户输入的内容进行了一个POST跟INSTANCE函数相关的操作,我们先回溯post函数,在catfish\catfish\library\think\Request.php文件中。post函数并没有写入一下过滤或替换的函数。
我们再看一下INSTANCE函数,跟POST函数在同一路径,里面也没有做过滤转换:
用户输入的内容没有被过滤转换就会导致漏洞的发生。那我们再来看一下前台页面的功能点是怎么进行防护的,以留言功能为例,我们进入到catfish\application\admin\controller\Index.php里面的留言模块,发现这里用了htmlspecialchars函数对用户输入的内容转换成了html实体,导致xss注入无效。
前台做的还是不错的,可能程序员也觉得后台的洞太鸡肋就没加固,后台功能点很多,基本上都没做防护,可以类似这样慢慢测试。
- 上一篇:原来Java反序列化远程执行漏洞这么简单
- 下一篇:一文看懂Python沙箱逃逸
猜你还喜欢
- 06-09深入理解JAVA反序列化漏洞
- 08-12cmseasy前台无需登录直接获取敏感数据的SQL注入(有POC证明)
- 11-28CVE-2017-11882漏洞复现和利用
- 11-10利用Thinkphp 5缓存漏洞实现前台Getshell
- 08-04php安全代码审计小结
- 01-02PHPCMS后台”空降”管理员CSRF漏洞分析
- 01-02某CMS注入分析及注入点总结
- 11-30PHP 函数漏洞总结
- 11-30PHP渗透中的奇淫技巧--检查相等时的漏洞
- 11-15某开源框架从注入到Getshell
- 随机文章
-
- PHPCMS v9.6.0 wap模块SQL注入
- 关于Metasploit5中的后渗透模块的编写与测试
- RFI绕过URL包含限制Getshell
- 一文看懂Python沙箱逃逸
- CatFish CMS V4.8.75最新版XSS漏洞审计
- 原来Java反序列化远程执行漏洞这么简单
- 重庆网安部门侦破系列涉外网络黑客案,涉案金额高达2千余万元
- 小众CMS vaeThink v1.0.1 代码执行漏洞挖掘分析
- Reverie:一款针对Parrot Linux的自动化渗透测试工具
- 某HR业务网站逻辑漏洞挖掘案例以及POC编写思路分享
- Superl-url:一款开源关键词URL采集工具
- 利用SMB共享来绕过php远程文件包含的限制
- Metasploit Payload在Linux平台的免杀
- 看我如何使用Windows域绕过防火墙获取持卡人数据的访问权限
- 渗透测试信息收集心得分享
- 文本编辑器VimNeovim被曝任意代码执行漏洞
- Apache Tika命令注入漏洞挖掘
- Machinae:一款信息收集自动化工具
- WordPress插件Form Maker SQL注入漏洞分析
- 印象笔记扩展被曝严重漏洞,可泄露数百万用户的敏感信息
- 热门文章
-
- 八年专业安全团队承接渗透入侵维护服务
- Emlog黑客站模板“Milw0rm”发布
- Stuxnet纪录片-零日 Zero.Days (2016)【中文字幕】
- SQLMAP的注入命令以及使用方法
- 白帽故事汇:网络安全战士从来不是「男生」的专利
- 编辑器漏洞手册
- web安全之如何全面发现系统后台
- 常见Web源码泄露总结
- 渗透测试培训(第五期)
- 深入理解JAVA反序列化漏洞
- cmseasy前台无需登录直接获取敏感数据的SQL注入(有POC证明)
- 网站后台登陆万能密码
- 黑麒麟2016渗透培训系列教程
- 破解emlog收费模板“Begin”
- 那些强悍的PHP一句话后门
- Android平台渗透测试套件zANTI v2.5发布(含详细说明)
- 渗透工具BackTrack与KaliLinux全套视频教程
- Python列为黑客应该学的四种编程语言之一 初学者该怎么学
- CVE-2017-11882漏洞复现和利用
- 恶意程序报告在线查询工具
文章存档
- 2021年3月(4)
- 2020年12月(4)
- 2020年11月(5)
- 2020年10月(8)
- 2020年9月(8)
- 2020年8月(20)
- 2020年7月(47)
- 2020年6月(70)
- 2020年5月(41)
- 2020年4月(21)
- 2020年3月(120)
- 2020年2月(26)
- 2019年12月(12)
- 2019年11月(13)
- 2019年10月(17)
- 2019年9月(15)
- 2019年8月(13)
- 2019年7月(15)
- 2019年6月(15)
- 2019年5月(19)
- 2019年4月(23)
- 2019年3月(19)
- 2019年2月(11)
- 2019年1月(29)
- 2018年12月(24)
- 2018年11月(56)
- 2018年10月(79)
- 2018年9月(20)
- 2018年8月(17)
- 2018年7月(16)
- 2018年6月(7)
- 2018年5月(10)
- 2018年3月(6)
- 2018年2月(2)
- 2018年1月(11)
- 2017年11月(18)
- 2017年10月(6)
- 2017年9月(8)
- 2017年8月(7)
- 2017年7月(7)
- 2017年6月(15)
- 2017年5月(30)
- 2017年4月(7)
- 2017年3月(1)
- 2017年2月(4)
- 2017年1月(1)
- 2016年12月(3)
- 2016年11月(7)
- 2016年10月(6)
- 2016年9月(6)
- 2016年8月(102)
- 2016年7月(24)
- 2013年7月(1)
- 文章标签
-