楚云神龙 发表于 2006-2-11 13:48

学校的网站被入侵

看看~



最 新 通 知                                 
>>更多



2005-2006第二学期公选课第二轮选课通知


2005-2006第二学期公选课第一轮选课通知




http://jwc.gdut.edu.cn/jwc/xwen//images/mark.gif

网站系统有漏洞,呵呵。
2006-2-10

http://jwc.gdut.edu.cn/jwc/xwen//images/mark.gif

网站系统有漏洞,呵呵。
2006-2-10

网站系统有漏洞,呵呵。


网站系统有漏洞,呵呵。

请尽快修复!

来自网友的提醒。

[ 本帖最后由 楚云神龙 于 2006-2-11 13:49 编辑 ]

Switch 发表于 2006-2-11 17:42

晕~!

.餖紗包'\_﹏. 发表于 2006-2-11 17:54

Switch 发表于 2006-2-11 18:01

hoho~已经被删掉了咧。。

谷夕2005 发表于 2006-2-24 00:23

上学期尾我已经同教务处的老师说过,到今天竟然还没补漏洞,晕死!!!(事先声明,那些网页不是我改的,呵呵)


以下为我的E-MAIL




谢谢

已通知教务处

考好试

> -----Original Message-----
> From: esafe@163.com
> Sent: Wednesday, January 11, 2006 20:56
> To: huzb
> Subject: 教务处网站漏洞
>
> 胡老师:
>         
> 学校教务处网站存在严重的SQL注入漏洞,可以让入侵者完全控制sql服务器和执行任
意系统命令。我不知道怎样联系那边的老师,所以向你说一下



日期: 2006-01-16 13:33:00( 38 天, 10 小时, 46 分钟 前)
发件人: jwc6@gdut.edu.cn拒收邀请
收件人: esafe@163.com
主题: 请教-教务处 [新窗口打开]

同学,你好:

    非常感谢你对我部门系统提出的意见。

    因能力有限,不知问题出在何处,请指出。可以的话请告知修改意见,谢谢!


                                                教务处
                                                2006。01。16

wool王 发表于 2006-2-25 16:16

我大二的时候曾经发过email给教务处,当时他们问我怎么改,我就给了几个提示,后来他们也不知怎么搞了就没回音,而问题依旧存在.

学校很多B/S系统都有注入漏洞的,现在都眼不见为净了.

庐山升龙霸 发表于 2006-3-29 23:54

...以前帮某公司做新闻发布系统时发现上级站点有SQL注入漏洞, 当时很晕.现在没了.

[ 本帖最后由 庐山升龙霸 于 2006-3-30 10:10 编辑 ]

powerwind 发表于 2006-3-30 00:28

虽然不懂注入是怎样,但明文密码未免太那个了,用JAVA的包写个MD5加密不用力

庐山升龙霸 发表于 2006-3-30 10:10

注入主要的原因出在sql语句上.
主要表现为检查密码时采用如下的sql
假设提交的用户名为变量a
提交的密码为变量b
则查询语句为
"select * from admin where username='"+a+"' and userpwd='"+b+"'"
执行语句后只要判断返回的记录集是否为空的就ok.
这里存在的问题是, 我们可以利用sql的特点, 在密码这一项里面, 变换一下.
假设我们提交的密码为"' or '1'='1",用户名随便,假设为"abc"
那么上述的sql语句执行后会变为
"select * from admin where username='abc' and userpwd='' or '1'='1'"
由于后面是or '1'='1'
所以这个查询会返回admin表所有的记录!
如果单纯地判断记录集为空的话, 那么这时无疑是会显示登录成功!
之前给了一个还有这个漏洞的网站, 觉得有点不厚道. 还是改掉算了. 大家要注意哦.

我的一个简单的解决办法是先查找用户名
select * from admin where username='abc'
然后返回记录集,注意上面这句一样可以注入, 会返回所有的记录
然后我们判断密码, 此时指针是指向第一条记录的, 我们取密码域跟提交的值比较. 这里的密码用MD5加密.服务器端密码是以密文形式存放的. 这样注入的语句经MD5函数转换后便使得注入的那部分无效化,这样可以很大程序上避免注入攻击. 但不排除某人碰中第一条记录密码的可能, 呵呵.

正确的处理办法是限制注册用户名和密码不能含有空格等特殊字符.然后登陆判断时可以查检查这些字符. 然后再组成sql语句.

[ 本帖最后由 庐山升龙霸 于 2006-3-30 10:14 编辑 ]

powerwind 发表于 2006-3-30 15:44

楼上解释得好!连我都听明白了,呵呵!

庐山升龙霸 发表于 2006-3-30 16:44

...我忘了也声明...那个网页不是我改的...呵呵...
页: [1]
查看完整版本: 学校的网站被入侵