0x00 环境准备

eduaskcms官网:https://www.eduaskcms.xin

网站源码版本:eduaskcms-1.0.7

程序源码下载:https://www.eduaskcms.xin/download/show/5.html

默认后台地址:http://127.0.0.1/public/run/user/login.html

默认账号密码:eduask/eduask

测试网站首页:

0x01 代码分析

1、        漏洞文件位置:/eduaskcms/app/home/controller/Feedback.php

2、        public function show()

3、        {

4、            if ($this->request->isPost() /*&& $this->Form->check_token()*/) {

5、

6、                //if(captcha_check(input('post.captcha'))){

7、                    $this->Form->data[$this->m]['truename'] = trim($this->Form->data[$this->m]['truename']);

8、                    $this->Form->data[$this->m]['mobile']   = trim($this->Form->data[$this->m]['mobile']);

9、                    $this->Form->data[$this->m]['title']    = /*$this->Form->data[$this->m]['title'] ? */trim($this->Form->data[$this->m]['title'])/*:menu($this->args['menu_id'],'title')*/;

10、                 $this->Form->data[$this->m]['user_id']  = $this->Auth->user('id');

11、                 $this->Form->data[$this->m]['ip']       = $this->request->ip();

12、                 $this->Form->data[$this->m]['menu_id']  = intval($this->args['menu_id']);

13、

14、                 $rslt  = $this->mdl->isUpdate(false)->save($this->Form->data[$this->m]);

15、                 if ($rslt) {

16、                     return $this->message('success','恭喜你!留言成功!');

17、                 } else {

18、                     $this->assign->error = $this->mdl->getError();

19、                 }

20、             //}else{

21、                 $this->assign->error[] = '验证码填写错误';

22、             //}

23、         }

这段函数获取参数后,并未对参数进行任何处理,直接保存到数据库中,导致程序在实现上存在存储型XSS跨站脚本漏洞,攻击者通过该漏洞可在页面中插入恶意js代码,获得用户cookie等信息,导致用户被劫持。

0x02 漏洞利用

1、安装完CMS,首页是空白的,需要自己添加测试数据,我们来添加一个留言页面。

2、在首页添加留言,提交xss Payload:

3、当管理员查看后台时,触发js脚本。

0x03 修复建议

1、建议进行全局防护,对部分单点进行过滤;

2、建议对参数做html转义过滤(要过滤的字符包括:单引号、双引号、大于号、小于号,&符号),防止脚本执行。在变量输出时进行HTML ENCODE处理。 PHP应用:可以使用htmlspecialchars对用户参数进行编码 。

最后

欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。 

【代码审计】eduaskcms_v1.0.7前台存储型XSS漏洞分析的更多相关文章

  1. 【代码审计】iZhanCMS_v2.1 前台存储型XSS漏洞分析

      0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...

  2. 【代码审计】大米CMS_V5.5.3 后台多处存储型XSS漏洞分析

      0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www ...

  3. Java Web开发 - 持久型/存储型XSS漏洞

    Java Web开发 - 持久型/存储型XSS漏洞 1.什么是XSS漏洞攻击? XSS是跨站脚本攻击(Cross Site Scripting)的简称,之所以叫XSS而不是CSS相比大家都能明白了吧, ...

  4. 【代码审计】QYKCMS_v4.3.2 前台存储型XSS跨站脚本漏洞分析

      0x00 环境准备 QYKCMS官网:http://www.qykcms.com/ 网站源码版本:QYKCMS_v4.3.2(企业站主题) 程序源码下载:http://bbs.qingyunke. ...

  5. 74CMS 3.0 存储型XSS漏洞

    一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.因为74CMS3.0源代码编辑使用GBK编 ...

  6. 存储型XSS靶场作业

    首先进入靶场:http://59.63.200.79:8082/index.php xss平台使用:xss8c 发现CMS版本号,搜索是否此版本号存在可利用漏洞: 找到存储型xss漏洞,在xss平台生 ...

  7. DVWA之Stored XSS(存储型XSS)

    目录 Low Medium High Impossible Low 源代码: <?php if( isset( $_POST[ 'btnSign' ] ) ) { // Get input $m ...

  8. 代码审计之Catfish CMS v4.5.7后台作者权限越权两枚+存储型XSS一枚

    首先本地搭建环境,我所使用的是Windows PHPstudy集成环境.使用起来非常方便.特别是审计的时候.可以任意切换PHP版本. 本文作者:226safe Team – Poacher 0×01 ...

  9. 74CMS3.0储存型XSS漏洞代码审计

    发现一个总结了乌云以前代码审计案例的宝藏网站:https://php.mengsec.com/ 希望自己能成为那个认真复现和学习前辈们思路的那个人,然后准备慢慢开始审计一些新的小型cms了 骑士cms ...

随机推荐

  1. curl_multi_select解决curl_multi网页假死问题

    curl_multi可以批处理事务,给网页编程带来很大的方便.不过在使用curl_multi的过程中,我们会遇到一个比较头疼的问题,那就是当并发处理的事务数量过多的时候,就会出现CPU过高,网页假死的 ...

  2. linux 常见错误

    yum.pid 已被锁定 rm -rf /var/run/yum.pid

  3. 微信小程序文字水平垂直居中对齐问题

    我们知道常用的居中对齐方式有很多种例如: text-align:center; align-items:center; justify-content: center; margin: auto; # ...

  4. Spring @Value注解问题

    xml配置了下面标签:<context:property-placeholder location="classpath:xxx.properties" /> 用spr ...

  5. JQ 点击指定文本框显示div。点击其他区域隐藏DIV

    <input id="username" type="text" style="width:90%;margin-top: 40px;" ...

  6. Html5學習重點清單

    SVG webSQL 數據庫 SSE 服務推送 MathML 基於xml語法 Web 存储 webSockets通信 canvas 畫布操作 音頻和視頻 地理位置 Geolocation API We ...

  7. 工行金邦达USBKey 在Mac OS的 Parallels Desktop 的虚拟Win7出现“ PKCS11

    由于经常用到支付宝的工行付款,所以在我的mac os中安装了Parallels Desktop 7(Win7旗舰版),但随之而来的问题是,运行PD后,再插入工行的USBkey,运行工具箱后出现“PKC ...

  8. 记 Install VNC On RaspberryOS During 创新实训 自然语言交流系统

    树莓派初始化设置并安装VNC SSH上去之后第一件事就是更新debian: sudo apt-get update, 升级完成后重启一下; 在SSH终端输入sudo raspi-config, 这里需 ...

  9. jsp页面利用JS做即时时间显示

    想给系统多些点缀,顺便把知识点温习一遍,不过讲真,这些都是网上扒的!我的水平现在也就这样 <%@page import="javax.xml.crypto.Data"%> ...

  10. Apple iOS MDM service 简介

    Apple iOS MDM service 簡介 藉由MDM服務,企業可以用來控管配發給員工的iOS Device.可以採用Apple官方推出的工具,也可以採用第三方開發的服務. MDM server ...