Board logo

标题: 关于黑海整站程序漏洞问题 [打印本页]

作者: 青蛙    时间: 2005-12-16 20:37     标题: 关于黑海整站程序漏洞问题

上次黑海被黑,我才想起对黑海进行一次检测.那天在群里听说黑海被黑了,马上跑去看看,顺便模拟入侵,看了几个页面以后,发现下载页面有问题,提交了一单引号就报错了,连绝对路径都出来了
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\thysea.com\public_html\ymdown\global.php on line 592
接下来开始注入,提交了几个语句后,发现这个地方是做过处理的,还是进行了过滤,不过看出他只单单过滤了select这个单词,而对其他却没有任何限制,这样只要能想办法饶过select这个单词就有机会拿到shell了,我曾试过大小转换的方法,不过没起作用,后来又考虑几天时间,想办法饶过限制,后来有点忙就没再去想如何饶过限制了,不过我相信应该有些牛人能够很轻易的突破限制吧.所以我觉得应该要重新修改下程序来杜绝这个地方的漏洞,偶的方法如下:
1.因为id这个变量是数据型的,所以在过滤这个变量的时候,重要的是要判断他的值是否是整型,其他的话可以继续过滤select这个词和一些特殊符号什么的了(不过既然是判断值是否是整型了,那这些也就多余了)
2.为了再加固防线,对所有变量值进行长度检查,指定其长度最多为5或者6,这样的话,即使再有问题,他注入语句的长度也还是个阻碍吧.
3.既然是php+mysql程序,那么对mysql权限进行严格的限制,如允许什么样的权限进行什么数据库样的操作,不允许进行什么样的数据库操作,这部分的具体方案我就不好具体给出了,因为我学mysql也没多久,还没去研究那方面的问题,不过有时间我会好好研究下的.
4.php的数据库连接文件的权限设置,里面的数据库连接帐号都在里面,权限设置成最高,这样就不会被一些方法给读出他的内容了.
5.不允许mysql进行管理,只能进行本地管理.
6.如果采用phpmyadmin进行管理的话,phpmyadmin这个目录也要设置好,这方面我没弄过,只是听说phpmyadmin设置的不好,很容易被利用.
7.把所有默认的错误页面和禁止访问页面,什么系统里的http信息页面全部替换成一个出错页面,这样可以很大程度上防范扫描软件了.
8.禁止后台等一些敏感页面被其他ip访问,只允许本地ip或者一个小的ip段进行访问(这个用处不是很大,很多时候挂马其实可以不需要进后台).
以上是随便写的,还有其他的一些策略没想起来,想起来再补充.
作者: 坏的刚刚好    时间: 2005-12-16 20:46     标题: 关于黑海整站程序漏洞问题

实SQL注入,说白了,就是看你根据提示出错的信息去巧妙的构造这个SQL语; 写程序时,不管是input还 select都不用默认的request的、还有对post上传也是同样可以的,要看具体情况了; 下面是写的一段防sql注入的,之过滤掉了常见sql注入字符,ad和nb的已经检测不到漏洞了: for each element in request.QueryString if instr(request.QueryString(element),"';")>0 or instr(request.QueryString(element),";")>0 or instr(request.QueryString(element),"and")>0 or instr(request.QueryString(element),"%")>0 or instr(request.QueryString(element),"/add")>0 or instr(request.QueryString(element),"net")>0 then response.Write("") response.End() elseif instr(request.QueryString(element),"exec")>0 or instr(request.QueryString(element),"char")>0 or instr(request.QueryString(element),""")>0 or instr(request.QueryString(element),"truncate")>0 or instr(request.QueryString(element),"update")>0 or instr(request.QueryString(element),"Asc")>0 then response.Write("") response.End() end if next 把它放在了conn里面、想必肯定还是有漏洞的;望黑海能做到一劳永逸!
作者: ☆一往情深☆    时间: 2005-12-18 23:05     标题: 关于黑海整站程序漏洞问题

这个程序也太多了OR了,不利于程序的运行的吧,打开这个面页会半天的.不过,我想不出更好办法,希望大家出谋化策
作者: 青蛙    时间: 2005-12-19 13:16     标题: 关于黑海整站程序漏洞问题

先直接判断变量是不是整数型然后再查询就可以了呀.
作者: chinanic    时间: 2005-12-20 12:35     标题: 关于黑海整站程序漏洞问题

下载站的这个漏洞几个月以前就有人在问答区提出过,但不知道后来怎么又有了!
作者: 黑色叶子    时间: 2005-12-25 21:50     标题: 关于黑海整站程序漏洞问题

就告诉你吧,黑海下载的后台没有了^=^ 你没看到好久没更新啊
要更新软件我再把后台放上去,更新完了我就又删掉,
嘻嘻
作者: woshihaike    时间: 2005-12-25 22:08     标题: 关于黑海整站程序漏洞问题

下次更新软件的时候告诉下大家。。。
作者: 青蛙    时间: 2005-12-26 22:29     标题: 关于黑海整站程序漏洞问题

汗~~~不一定需要进后台才可以写shell的,php好象很多方法都可以脱离后台写shell哦.
作者: 黑色叶子    时间: 2005-12-27 17:05     标题: 关于黑海整站程序漏洞问题

已经经过N多人测试了这系统了,进入可能不大,倒是论坛有风险




欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) Powered by Discuz! 7.2