查看: 18800|回复: 8

UWA 最新版本2.x组合拳

[复制链接]
发表于 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

查看全部评分

回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

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

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-5-1 08:34 , Processed in 0.077940 second(s), 26 queries , Gzip On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部