• 网络学院
  • 新手学堂
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
剑走偏锋之灵巧的脚本注入方式
广告位
  站点:
  • 首 页
  • 最新软件
  • 最新文章
  • 国内软件
  • 国外软件
  • 汉化软件
  • 源码下载
  • 字体下载
剑走偏锋之灵巧的脚本注入方式
软件发布 剑走偏锋之灵巧的脚本注入方式
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回首页 | 文章首页 | 网络技术 | 网络安全 | 剑走偏锋之灵巧的脚本注入方式

剑走偏锋之灵巧的脚本注入方式

 

添加时间: 2008-3-5 16:11:17  作者: 网络安全  阅读次数:10   来源: http://www.d9soft.com

 

 

       

  武学之中, 出其不意、剑走偏锋才能发挥灵巧之长。在防火墙广泛地应用于网络之间执行访问控制策略的今天,以往被漠视的CGI安全悄然兴起,形形色色的脚本攻击在防火墙的“认同”下大行其道,看似简单的脚本实质上处处暗藏玄机。本文真实再现利用脚本缺陷善意侵入target的全过程,试图让您得到一点乐趣和启示。

  Target.ORG(target网络安全小组)是国内较为知名的黑客/安全站点,偶然间,我们开始了对她的安全测试。

  没有任何迟疑,我们直接从WEB下手。据了解:target整站程序由站主NetHero编写。基于代码规模和复杂度方面的考虑,我们把目光集中到了网站论坛。我们习惯首先查看用户信息,因为用户名和用户密码总是紧贴着保存在一起,在这里我们更容易接近我们渴求的信息。提交如下URL

  查看NetHero用户信息:

  http://www.target.org/cgi-bin/club/scripts/userinfo.pl?user=nethero
  正常返回用户信息

  http://www.target.org/cgi-bin/club/scripts/userinfo.pl?user=./nethero
  出错提示:论坛系统出现问题!

  http://www.target.org/cgi-bin/club/scripts/userinfo.pl?user=nethero%00
  返回用户信息的“发贴数量”出现了一个莫名其妙的字符串,其他的一部分信息也全乱了

  看来这里有点问题,这个字符串到底是怎么回事?我们用以前申请的ID登陆上去后,看到每个URL的QUERY_STRING后面都有一个名为key的变量,而且其值和上述的字符串有些相似。难道这个是密码?我们接连登陆几次后,观察到这个key值每次都不一样,看来这个key是用来识别我们在论坛的身份,应该与用户密码没有直接关系...还是先不管这个key值了,继续用我们的ID做实验,提交了这个URL

  http://www.target.org/cgi-bin/club/scripts/userinfo.pl?user=envymask%00

  出来的还是跟先前类似的字符串,这个时候我们大胆猜测这个字符串是我们的密码,通过验证,我们发现这的确是把我们密码经过标准DES加密后得到的字符串。这证明了我们的猜测是正确的,这个字符串中就是加密过后的用户密码。但为什么密码会溜出来?于是我们接着推测:在用户数据目录里面肯定有两个保存每个用户信息的文件,一个里面保存有密码,而另一个没有,只有一些一般的信息,如邮箱,生日之类的。这两个文件应该一个是username,另一个是username.xxx(加了一个后缀)。

  userinfo.pl这个程序使用open函数打开文件的时候没有对user这个变量过滤完全,至少没有过滤掉 \0,这使得试图打开username.xxx文件的时候实质上打开的并不是username.xxx而是username。打开文件的代码可能是这样写的open(F,"$path/$username.xxx");所以当user=abcdef%00的时候相当于open(F,"$path/abcdef");而这个文件里正是保存用户密码的那个文件,所以部分用户信息变量直接到该文件中错误地取值,之后再反馈输出给用户,这样密码就出来了。惬意...我们随即找出了站长nethero的密码,暴力破解的念头一闪而过后,我们看还能不能进一步突破这个目录,于是提交

  http://www.target.org/cgi-bin/club/scripts/userinfo.pl?user=../../../../../../../etc/passwd%00

  密码档文件出来了,看来这里有搞头,继续

  http://www.target.org/cgi-bin/club/scripts/userinfo.pl?user=../../../../../../../etc/%00

  受页面输出格式限制,我们只能查看到/etc目录中一部分文件和目录;于是试着打开一些文件,但也只能查看到文件的一些很小的片段,几乎没什么用,连续查看了很多文件过后,都没有新的突破,我们有点失望了。于是我们暂时把这个BUG放在一边,看看还有没有其他文件存在缺陷,继续找一些CGI程序如display.pl,show.pl等,都没有发现可以突破的地方,因为这些文件都做了一些过滤,看来这条路走不通了。

  既然CGI方面不能突破,那就只有另想路子了。

  我们拿着那个userinfo.pl到处查看一些片段文件和目录,首先搜寻apache的配置文件,最后在/usr/local/etc/apache目录下找到了httpd.conf ,但还是只能查看文件头几行,这些根本没什么用。又跑到/home目录下看了看,嗯,有好多用户,比先前查看/etc/passwd里面的用户多多了,因为查看/etc/passwd的时候只能看到头几行,随便进了一个用户tomy的目录,咦,见到了目录/public_html,看来系统有可能给每个用户分配了发布个人主页的空间,有意思, 看在浏览器里面能不能访问到

  http://www.target.org/~tomy

  呵,看到这家伙的个人主页了,再看看里面有什么东西,这时我们意外地发现了一个/phpmyadmin目录,立刻访问,发现竟然没有密码验证。现在的我们相当于得到了一个Mysql的用户,我们试图通过phpmyadmin往数据库里写东西,内容是一个小的phpshell,然后导出到主页目录里,忙活了半天,终于全写进去了,但往硬盘上写的时候却发现没有权限写,一阵郁闷袭来...

  继续查看了几个用户的目录,大部分都没有发布更多的东西,只有些静态的页面。经过一番努力后,我们终于找到了冤大头--shuaishuai(帅帅)这个用户,转到他发布的主页上看看,哈,发现了这个

  http://www.target.org/~shuaishuai/show.php?filename=20030329185337.txt

  好家伙,看看能不能跳转目录

  http://www.target.org/~shuaishuai/show.php?filename=../../../../../../../etc/passwd

  返回了下面这些东西给我们
Warning: is_file() [function.is-file]: SAFE MODE Restriction in effect. The script whose uid is 1007 is not allowed to access

./data//../../../../../../etc/passwd owned by uid 0 in /usr/home/shuaishuai/public_html/show.php on line 77

  失败,但并不是不能跳转,只是没有权限而已。那好,我们再试着看看能不能查看有权限的文件

http://www.target.org/~shuaishuai/show.php?filename=../../../../../../../home/shuaishuai/public_html/post.php

  呵呵,成功了,看到了post.php这个文件的源代码,太棒了,我们就把这个做为突破口。但这个只能查看shuaishuai这个用户的文件,不能查看到其他文件,而且只是能查看文件似乎还不够,我们希望得到一个shell,这看起来似乎比较困难。还是另看看其他,其实shuaishuai的主页上东西蛮多的,还有一个留言板,是X-pad.这个留言板可以让用户注册后留言,每个注册用户在/User目录下面都有一个配置文件,保留了用户的一些信息,在查看注册文件源代码后我们发现它并没有过滤完全,至少有一个变量可以使我们可以插入我们的代码。于是我们申请了一个用户在HOMEPAGE这个字段插入了我们的代码,使我们的用户配置文件看起来像这样:

  以下是代码片段:

$User_Psw = "1234";
$User_QQ = "";
$User_EMail = "";
$User_Homepage = "http://\";copy($a,$b);unlink($a);#";
$User_Avatar = "Styles/Avatars/blank.gif";
$User_BBSMode = "0";
?>

  上面这个php文件使我们可以上传文件到指定目录和删除有权限删除的文件.但在执行过程中却发现不行,为什么?原来没有看清楚

$User_Homepage = "http://\";copy($a,$b);unlink($a);#";

  这一行中我们提交的"(引号)前面被自动插入了\,使得它不是php语句中的双引号("),而是变量中的(") 。即$User_Homepage变量值为 “http://\";copy($a,$b);unlink($a);#” 整个字符串,并没有起到预期的作用。看来 magic_quotes_gpc = on,再告失败。

  没有气馁,我们继续耐心地查找其他可以利用的东西,马上我们又发现了http://www.target.org/~shuaishuai/down_sys/ 这么个下载系统.经过查看目录和查看下载系统的源文件(因为我们有权限查看这个目录里的文件),在down_sys/data/user/目录下面发现了管理员的用户文件,里面包含了密码,但令人头痛的是管理员密码是经过md5加密的。此时我们没有轻易放弃这个经加密的密码,我们即刻查看管理员验证的代码,在/down_sys/admin/global.php这个文件中发现了其验证方式包含cookie验证,相关代码如下:

  以下是代码片段:
......
if (isset($password)) $password=md5($password);
if (empty($username)) $username=$HTTP_COOKIE_VARS[’bymid’];
if (empty($password)) $password=$HTTP_COOKIE_VARS[’bympwd’];
if(!checkpass($username,$password)) {
admintitle();
adminlogin();
exit;
}
......

  完全可以进行一次cookie欺骗。我们这里使用的是一种比较烦琐的方法:先断开网络,将我们的IP改为target.org的IP,然后在%systemroot%\system32\drivers\etc\hosts文件里把www.target.org这个域名指向target.org的IP,做这一步是为了我们在断开网络的时候能够成功的将www.target.org解析成它的IP.最后在我们的IIS里面自已建一个虚拟目录/~shuaishuai/down_sys/admin/写一个asp文件,把cookie设置为管理员的用户名和加过密的密码,asp文件内容如下:

 

剑走偏锋之灵巧的脚本注入方式(1) 第 [1] [2]  下一页

 

 

上下文章:

 

上一篇文章: 安全:漏洞的形成和防治办法 下一篇文章: 老鸟谈入侵:黑客入侵前的信息收集

相关文章:

  • RMAN自动备份的脚本(windows环境)
  • schema的常用脚本:gettrig.sql
  • schema的常用脚本:getallview.sql
  • schema的常用脚本:moveall.sql
  • schema的常用脚本:getaview.sql

相关软件:

  • Script Expert 脚本大师 7.2
  • SQL注入检测工具-网站整体威胁检测系统(Webpecker) V5.9
  • ASP脚本解密工具 V1.0
  • 脚本编辑 vPed V2.17
  • 按键游侠脚本引擎 V1.0
  • Redhat 8 安装教程(图形方式)(HTM)

 

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

网络技术分类导航

  • 局域网专栏
  • 病毒快报
  • 网络安全
  • 组网教程
  • WEB服务器架设与维护
  • FTP服务器架设与维护
  • DNS服务器架设与维护
  • 邮件服务器架设与维护

本类经典文章推荐

  • Ghost有漏洞 镜像恢复需小心陷阱
  • 微软危急补丁涉及所有版本Windows
  • 完美解决双击无法打开C、D、E、F盘...
  • 技巧:交换机安全设置六大原则
  • 后门的分类及各种入侵办法说明
  • 针对Linux网络服务器的渗透测试
  • 路由器的故障分析及排除技巧
  • Linux下的用户口令及其安全性
  • 视频文件夹带木马的常见应对策略
  • 禁止让瑞星2008随机启动的绝招

网络安全阅读排行

  • 网络解惑:找回消失的本地连接
  • 南阳信息港被黑案告破!
  • SXS.EXE木马病毒的清除方法
  • 教你如何手动杀SXS.EXE这种病毒
  • U盘病毒和Autorun.inf文件分析
  • 强人的试用18款杀软手记 !!!看...
  • 网络防火墙技术应用!
  • 远程控制解决问题集合
  • 突破网吧极限及机房管理限制的方法
  • 不用防火墙,让菜鸟远离病毒

网络技术阅读总排行

  • 网络解惑:找回消失的本地连接
  • 网卡故障排除技巧详解
  • 教你如何通过路由器来控制上网
  • FlashFTP教程
  • 网上邻居十大经典应用技巧
  • 如何有效建立Win2000 VPN服务器
  • 查找局域网络中的故障技巧
  • 经济实惠:组建P2P电影服务器
  • 南阳信息港被黑案告破!
  • 小区宽带主要常见故障解决办法

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有