JunAMS v1.2.1.20190403代码审计笔记】的更多相关文章

前言 CNVD-2020-24741 过程 JunAMS是以ThinkPHP为框架的开源内容管理系统,本地搭建受影响版本JunAMS v1.2.1.20190403 前台没有上传功能,进入后台.发现在系统设置->版本管理->添加表单中,发现文件上传功能 先传张正常的图片,抓个包看一下: 上传功能没问题,根据POST路径追踪对应功能代码,在common方法中的add_images函数,代码如下: public function add_images() { $file = request()-&…
data: 2020.11.9 10:00AM description: seacms代码审计笔记 0X01前言 seacms(海洋cms)在10.1版本后台存在多处漏洞,事实上当前最新版V10.7这些漏洞都没有修复,网上已有10.1版本相关的分析文章,这里就不再重复赘述.我们简单分析下文章中未体现的几个漏洞. 0X02分析 代码注入 在后台admin_ping.php中,看下代码: <?php header('Content-Type:text/html;charset=utf-8'); re…
0x01 前言 PHP 是一门弱类型语言,不必向 PHP 声明该变量的数据类型,PHP 会根据变量的值,自动把变量转换为正确的数据类型. 弱类型比较,是一个比较蛋疼的问题,如左侧为字符串,右侧为一个整数,只不过左侧与右侧内容完全相等. <?php var_dump(null ==false); //bool(true) var_dump('aa'==0); //bool(true) ?> 0x02 Magic Hash PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,在进…
变量覆盖指的是用我们自定义的参数值替换程序原有的变量值,一般变量覆盖漏洞需要结合程序的其它功能来实现完整的攻击. 经常导致变量覆盖漏洞场景有:$$,extract()函数,parse_str()函数,import_request_variables()使用不当,开启了全局变量注册等.  0×01 全局变量覆盖 register_globals的意思就是注册为全局变量,所以当On的时候,传递过来的值会被直接的注册为全局变量直接使用,而Off的时候,我们需要到特定的数组里去得到它. 代码示例1: <…
漏洞形成原因:客户端提交的参数,未经任何过滤,传入可以执行代码的函数,造成代码执行漏洞. 常见代码注射函数: 如:eval.preg_replace+/e.assert.call_user_func.call_user_func_array.create_function等函数 详见http://www.cnblogs.com/xiaozi/p/7834367.html 漏洞危害:执行代码,写入webshell.控制服务器 代码示例一: <?php //?cmd=phpinfo(); @eval…
在文件下载操作中,文件名及路径由客户端传入的参数控制,并且未进行有效的过滤,导致用户可恶意下载任意文件.  0x01 客户端下载 常见于系统中存在文件(附件/文档等资源)下载的地方. 漏洞示例代码: . <?php . $filename = $_GET['filename']; . echo file_get_contents($filename); . header('Content-Type: imgage/jpeg'); . header('Content-Disposition: at…
命令执行漏洞,用户通过浏览器在远程服务器上执行任意系统命令,严格意义上,与代码执行漏洞还是有一定的区别. 0x01漏洞实例 例1: <?php $target=$_REQUEST['ip']; $cmd = shell_exec('ping '.$target); echo "<pre>{$cmd}</pre>"; ?> 提交 http://127.0.0.1/cmd.php?ip=|net user 提交以后,命令变成了 shell_exec('p…
0x01 url任意跳转 未做任何限制,传入任何网址即可进行跳转. 漏洞示例代码: <?php $redirect_url = $_GET['url']; header("Location: " . $redirect_url); exit; ?> Payload:?url=http://www.baidu.com,即可跳转到百度首页 0x02 编码解码 之前黑盒测试遇到过一个案例,感觉有点意思,写个demo复现一下 漏洞示例代码: <?php $url = base…
有限制的本地文件包含: <?php include($_GET['file'].".php"); ?> %00截断: ?file=C://Windows//win.ini%00    (window,magic_quotes_gpc=off,网络上盛传PHP小于5.3.4有效,未完全进行测试,亲测 PHP 5.2.17有效,PHP-5.3.29-nts无效) ?file==../../../../../../../../../etc/passwd%00   (需要 magi…
 0x01 最简单的文件上传 未进行文件类型和格式做合法性校验,任意文件上传 漏洞代码示例: 新建一个提供上传文件的 upload.html <html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:<…