这周的审计任务,两天前的任务呀~拖延症呀~

这次审计一个博客----auxblogcms1.0.6,网上也有所记载,我下面会做个总结。

axublog是一款php个人博客系统,小巧强大的PHP+MySQL博客系统程序,全站静态生成html页面,努力成为最优秀国产博客系统!

                                                                    环境搭建

审计CMS,首先环境搭建。

1,虚拟机/本机win7 32/64位,用wamserver或者phpstudy搭建环境。

2,auxblogcms1.0.6源码(已分享链接)放到WWW目录下面

3,安装,访问(  http://127.0.0.1/auxblogcms1.0.6/  )。一路选择下一步,直到设置页面,创建数据库......安装完成。

php-5.2.17+apache             axublog正常运行
php-5.3.29-nts+apache        axublog正常运行
php-5.4.45+apache             axublog无法运行出错
php-5.4.45-nts+apache        axublog正常运行

安装过程如下,简单说一下。

把分享的压缩包放到WWW目录下,然后进行解压。然后直接打开连接(http://127.0.0.1/axublog1.0.6install/)开始自动解压安装。

点击同意,开始安装。

输入数据库账号密码(可以选择新建个数据库axublog,不新建也可以,输入数据库的名称即可),点击进行下一步进行网站简单的设置

可以看到安装成功,请牢记您的管理员账户:orange , 密码orange,进入后台管理博客。

                                                                            代码审计

SQL注入漏洞

首先进行黑盒测试了一下,可getshell,发现后台登录页面是有注入的。输入' or 1=1#,密码随意输入就好,成功登录。

这个时候可以拿出注入神器sqlmap进行黑盒测试。

用burpsuite抓包,扔到sqlmap里面进行注入。

可以成功注入,boolean-based blind,可以注入出来数据库等信息。这个时候试下getshell。执行sqlmap的--os-shell

选择php,然后选择2自定义路径(前提知道路径)输入:D:\wamp\www\nging\axublog1.0.6install\ad

成功getshell,生成了sqlmap的马,得到了shell,因为权限很高,可以执行系统命令。

上面是黑盒测试的细节,下面分析一下代码

上面的图片可以看到,登录的用户user通过post提交,首先接收到$user=$_POST["user"];,接收POST传过来的账号密码数据,但是后面发现没有过滤,$chk变量简单的进行了拼接直接带入查询,从而造成SQL注入漏洞。

$tab=$tabhead."adusers";
$chk=" where adnaa='".$user."' and adpss='".$psw."' ";
mysql_select_db($tab);
$sql = mysql_query("select * from ".$tab.$chk);
if(!$sql){$jieguo="<div id=redmsg>(数据库查询失败!)</div>";}else{
    $num=mysql_num_rows($sql);

对于传的参数与数据库进行交互的时候需要进行严格过滤,避免出现SQL注入漏洞的产生。

XSS漏洞

xss漏洞在前台/go/index.php。查看下代码,可以看到代码很少,

get参数u,然后strtolower($u),strtolower() 函数把字符串转换为小写。

然后$u='http://'.str_replace('http://','',$u);,这里把$u传过来的http://先给替换掉空,然后再进行拼接。然后就没了,,,只是把$u传过来的字符串转换成小写,直接echo给location.href语句了,所以这里很明显是存在XSS漏洞的,因此可以构造语句进而触发xss。输入:</script><script>alert(/orange/)</script><"    ,发现成功xss。

源码分享(链接: https://pan.baidu.com/s/1pLr7w6Z 密码: r326)

本文链接(http://www.cnblogs.com/Oran9e/p/7846987.html),转载请注明!

auxblogcms1.0.6|代码审计的更多相关文章

  1. axublogcms1.0.6|代码审计

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

  2. xdcms_3.0.1 | 代码审计

    这周的审计任务,这次审计 xdcms . 下面就开始审计之旅.                                                                     ...

  3. 熊海cms v1.0 完全代码审计

    很久以前写的,写这个东西更多的是为了说明我自己的一个思路,即按照程序功能点进行代码审计, 这样经过一段时间训练,熟悉了某种功能的正确和错误实现方法,遇到类似的代码就可以很快看出是否有问题了 --- 0 ...

  4. 米酷CMS 7.0.4代码审计

    工具:seay源代码审计系统 源代码:网上很好找,这里就懒得贴上了,找不到的话可以给我留言 后面一段时间会深入学习安全开发,代码审计,内网渗透和免杀,快快成长. 审这个系统是因为在先知上看到一篇审它老 ...

  5. ref:web security最新学习资料收集

    ref:https://chybeta.github.io/2017/08/19/Web-Security-Learning/ ref:https://github.com/CHYbeta/Web-S ...

  6. Web-Security-Learning

    Web Security sql注入 MySql MySQL False 注入及技巧总结 MySQL 注入攻击与防御 sql注入学习总结 SQL注入防御与绕过的几种姿势 MySQL偏门技巧 mysql ...

  7. 机器学习算法之K近邻算法

    0x00 概述   K近邻算法是机器学习中非常重要的分类算法.可利用K近邻基于不同的特征提取方式来检测异常操作,比如使用K近邻检测Rootkit,使用K近邻检测webshell等. 0x01 原理   ...

  8. ZAM 3D 制作简单的3D字幕 流程(二)

    原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...

  9. ZAM 3D 制作3D动画字幕 用于Xaml导出

    原地址-> http://www.cnblogs.com/yk250/p/5662788.html 介绍:对经常使用Blend做动画的人来说,ZAM 3D 也很好上手,专业制作3D素材的XAML ...

随机推荐

  1. web基础系列(五)---https是如何实现安全通信的

    https是如何实现安全通信的 如果有不正确的地方,还望指出! web基础系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 回顾 总结几个概念(具体描述可以看上一篇文章) 数字 ...

  2. Prometheus 架构 - 每天5分钟玩转 Docker 容器技术(83)

    Prometheus 是一个非常优秀的监控工具.准确的说,应该是监控方案.Prometheus 提供了监控数据搜集.存储.处理.可视化和告警一套完整的解决方案. 让我们先来看看 Prometheus ...

  3. SQL 表结构操作

    数据库知识总结(表结构操作) 1.创建表Scores 1 create table Scores --表名 2 (Id int identity(1,1) primary key,--设置主键,并且行 ...

  4. win10 uwp 打开文件管理器选择文件

    本文:让文件管理器选择文件,不是从文件管理器获得文件. 假如已经获得一些文件,那么如何从文件管理器选择这些文件? 使用方法很简单. 从网上拿图来说 打开文件夹自动选择所有文件 首先需要获得文件夹,因为 ...

  5. eclipse环境下,java操作MySQL的简单演示

    首先先通过power shell 进入MySQL 查看现在数据库的状态(博主是win10系统) 右键开始,选择Windows powershell ,输入MySQL -u用户名 -p密码 选择数据库( ...

  6. 简易RPC框架-客户端限流配置

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  7. LINUX 软件管理

    dpkg 安装 dpkg -i package.deb 卸载 dpkg -r packagename 彻底卸载 dpkg -P packagename apt-get 搜查包 apt-cache se ...

  8. Mysql编写sql语句的小技巧

    1.查询数据(保证查询性能) SELECT * 和 SELECT t.id , t.name:后者性能其实总体优于前者. 2.在查询的时候最好给表起个 别名,方便找到表中要查询的字段.执行sql的进行 ...

  9. Javascript中NaN、null和undefinded的区别

    var a1; var a2 = true; var a3 = 1; var a4 = "Hello"; var a5 = new Object(); var a6 = null; ...

  10. js实现一个简单钟表动画(javascript+html5 canvas)

    第一次在博客园注册发博.有一次去人家单位开标,看到开标网站上有个钟表动画,一时兴起,就写了个简单的钟表动画. 用js和html5 canvas对象实现一个简单钟表程序 主要用到的就是h5的canvas ...