查看: 15889|回复: 8

UWA 最新版本2.x组合拳

[复制链接]
  • TA的每日心情
    奋斗
    2021-12-29 18:17
  • 签到天数: 45 天

    [LV.5]常住居民I

    发表于 2014-12-16 10:32:28 | 显示全部楼层 |阅读模式
    本帖最后由 凡火火。 于 2014-12-16 11:10 编辑

    现在好像很流行发代码审计的帖子?我也来一发
    UWA 2.X  (Universal Website AsThis) ,是如斯(AsThis)基于 PHP
    和 MySQL 开发的通用建站系统,程序简洁、灵活而具备强大的扩展性,他将是您轻松建站的
    首选利器。

    样本下载地址
    链接:http://pan.baidu.com/s/1eQIjPZW
    密码:ax6o

    1.jpg
    Ps:现在很多刚学习代码审计的基友们都有这样一个问题 就是看了无数文章却没有动手试验的东西 所以仅以个人名义提倡代码审计贴留下源码下载地址如有条件可留下demo地址方便大家学习。


    首先先放过黑盒测试 进行白盒(由于已提供源码 故本例中用图片方式贴出)
    撸出代码 因为要打组合拳 所以从路径开始收集。

    #01 未验证访问导致路径泄漏
    记得某位大牛说过 任何来自用户的数据都是不可信的,但是应该还有一句 任何来自用户的访问都应该有验证
    同样 本例中出现数个此类错误 不仅在审计中注意 在编写php程序时也应注意
    问题出现在
    /core/lib/core/App.class.php
    3.jpg

    在继承父类时并未验证父类是否已class 而导致直接访问出错
    2.jpg
    由此得到路径D:\php\htdocs


    #02 组合拳——SQLi注入
    已经得到路径了 那么下一步有两种方法
    一:按部就班找sql注入得到用户进后台拿shell
    二:找注入尝试root权限直接执行或者sqlmap--os-shell

    既然这样 无论如何都要找到一个sql洞洞了

    在/core/lib/ext/AServer.class.php 第15-42行
    [PHP] 纯文本查看 复制代码
    /* get client IP address */
    	public static function get_ip() {
    		$ip = '';
    		if(!empty($_SERVER['HTTP_CLIENT_IP'])) {
    			$ip = $_SERVER['HTTP_CLIENT_IP'];
    		}
    		if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    			$ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
    			if($ip) {
    				array_unshift($ips, $ip);
    				$ip = '';
    			}
    			for($i = 0; $i < count($ips); $i++) {
    				if(!preg_match("/^(10|172\.16|192\.168)\./i", $ips[$i])) {
    					$ip = $ips[$i];
    					break;
    				}
    			}
    		}
    		$ip = $ip ? $ip : $_SERVER['REMOTE_ADDR'];
    		$long = sprintf("%u", ip2long($ip));
    		return $long ? $ip : '0.0.0.0';
    	}
    
    	/* get client browser previous url */
    	public static function get_preUrl() {
    		return $_SERVER['HTTP_REFERER'];
    	}
    

    我们的http头部是可以控制的,那么下面的追踪是否带入库就让大家自己研究下吧 Ps在登录附近哦~

    #03 getshell
    进入后台之后 我们发现似乎没什么好利用的 因为和代码等等无关 是利用某一个功能 所以直接给出POC
            5.jpg
    依次点击后上传提供的plugin
    然后 6.jpg 点击安装
    最后访问http://08sec.com/08.php 密码08sec

    插件下载地址:
    链接:http://pan.baidu.com/s/1pJHR68z 密码:n3ph

    评分

    参与人数 2人气 +2 i币 +64 收起 理由
    管理01 + 2 + 40 支持原创
    C4r1st + 24

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-1-5 19:19
  • 签到天数: 238 天

    [LV.7]常住居民III

    发表于 2014-12-16 11:28:11 | 显示全部楼层
    这个插件是用来干啥的?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-7-16 21:37
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2014-12-16 12:10:41 | 显示全部楼层
    审的太简单
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-8-27 01:19
  • 签到天数: 50 天

    [LV.5]常住居民I

    发表于 2014-12-16 12:19:26 | 显示全部楼层
    支持支持            
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2016-8-26 14:36
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2014-12-16 13:28:01 | 显示全部楼层
    审计给跪了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-8 10:12
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2014-12-16 14:10:10 | 显示全部楼层
      $long = sprintf("%u", ip2long($ip));
    想问一下ip地址怎么会被ip2long函数绕过的?
    好像如果ip中带有字符串的话,ip2long函数就会返回0
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-8-21 09:22
  • 签到天数: 181 天

    [LV.7]常住居民III

    发表于 2014-12-17 08:49:04 | 显示全部楼层
    审计的后面省略很多,不过思路很清晰
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2015-5-27 23:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2014-12-31 03:34:49 | 显示全部楼层
    感谢分享~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-9-21 09:35
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2023-9-18 15:25:26 | 显示全部楼层
    这是啥浏览器
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-5-2 07:55 , Processed in 0.056696 second(s), 21 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部