一次成功的cgi漏洞入侵

/ns/hk/hacker/data/20040502233317.htm

网站安全包括许多方面,尽管网管们千方百计的防范于未然,可有时还是难免疏漏。
我的“再谈cgi漏洞攻击”一文中,我利用cgi漏洞攻进几台服务器,这次我将以一次,从发现漏洞到利用漏洞,
从而攻进主机的全过程来讲解,与大家交流。
www.****.org网站是一个新闻网站,版面简洁,在浏揽它的新闻时,我发现它使用了cgi程序,view.cgi?1.html,
我意识到,如果这个程序中的函数滤参不好那肯定回成漏洞,于是我提交view.cgi?%%%%%,没报错,但什么也没有,在试,
view.cgi?/../../../...,还是没错没显示,那直接提交路径名吧,通过telnet 80 端口,知道对方是台unix,好,那提交
view.cgi?/etc/passwd,结果是.....成了,我猜对了!这次我没去破弱口令,我想多看看。在提交,view.cgi?view.cgi,
我没猜错,由于open函数滤参不严,成了漏洞。
这是一个新闻网站,那它肯定有数据库,把它down回来不就不用破什么口令了吗?说干就干。
第一步要知道这个网站的物理路径,可这较难,我开始还用下x-scan扫了一下,无功而反。那看来还是要用cgi,
因为cgi有个报错的好习惯,嘿嘿!
可从那找呢?唉!我看着网页,咦,search,哈哈,有望,在search栏里键入,##¥¥%%,报错了,
warning("-config.txt")export/pub/admin/util.php line:11 feof();,路径泄漏了!
第二步寻找数据库位置及名称。先看看utilphp中有什么吧!提交view.cgi?/export/pub/admin/util.php,
没啥?可有个联接,link weblog,好查看属性add.php,在提交view.cgi?/export/pub/admin/add.php,哇好长啊,
好好看看,有了,mysql....,哈哈,出来了mysql_connect("","***","888"),这函数不用介绍了吧,嘿嘿。
啊,你不知道,好好,"***"是username,"888"是passwd,后面还有一函数,暴露了数据库名――RC。
第三步现在我已成功大半,最后一步就是down数据库。这不用教了吧,^_^,偷个懒。
后面我通过ssh登陆对方,然后大家都知道了不说了。
大家以后在编写cgi程序时一定要注意滤参,不然唉!!!!!!惨了!
===============================================
本文版权属20CN网络安全小组及其作者所有,如有转载,请保持文章完整性并注明出处
文章类型:原创 提交:爱无言 核查:NetDemon