• axublogcms1.0.6|代码审计


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

    这次审计一个博客----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:wampwww gingaxublog1.0.6installad

    成功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),转载请注明!

  • 相关阅读:
    Ext Form
    Ext中 get、getDom、getCmp的区别
    Ext.state.Manager.setProvider(new Ext.state.CookieProvider())
    Ext BoxComponent
    Ext表单提示方式:msgTarget
    Ext.QuickTips.init()的使用
    Ext.Ajax.Request
    FitLayout
    视图Ext.Viewport和窗口Ext.Window用法
    禁用IE缓存
  • 原文地址:https://www.cnblogs.com/Oran9e/p/7846987.html
Copyright © 2020-2023  润新知