browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

SQL Inject惊魂

Posted by on 2006 年 02 月 28 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

今天发现马说的访问记录中出现了几个奇怪的URL,直觉告诉我是有黑客朋友来过了。于是请教了alpha,得知这是个SQLInject的活动。对于我这种严重的非专业web程序员来说,也大概知道这是种靠拼凑SQL字符串而修改数据库的入侵手段了。至于详细的手段在此我就不多说了,因为我毕竟不是网络安全人员。在此只是把alpha提供的防范手段做个精简的介绍:

1、对于数值型传入数据进行类型转换,如:

1
2
$id = $HTTP_GET_VARS['id'];
$id = intval( $id ); // 防止注入攻击

2、对于字符型传入数据进行字符处理:

1
2
3
4
// $str是一个传入的字符串
$str = addslashes( $str ); // 处理'\'
$str = str_replace( "_", "\_", $str ); // 处理'_'
$str = str_replace( "%", "\%", $str ); // 处理'%'

关于alpha的注入教程,可以点这里下载。再次对这位学弟表示感谢,并对毕业时卖给你的那三本VC垃圾书表示歉意。
最后和那位来过的黑客朋友说一句,感谢你对马说所做的安全测试,如果你发现了什么漏洞,一般人你就别告诉他了,还是先告诉我吧——毕竟大家都是出来混的,谁都不容易。

订阅本站

4 Comments

  • At 2006.03.02 10:01, mayulei said:

    呵呵,报个名,我是半专业web程序员。
    自己维护站点确实要很操心,不过收获也很大。
    SQL注入这种东西其实……,(本想说点什么,还是算了,第一次来,要有礼貌)
    说的有点让人起疑心了,我可不是你说的那位“朋友”,我今天第一次来。
    作为回访,我也来坐一回沙发。
    对技术有热情的,肯钻研的人才是有前途的人。像我这样的人顶多算个伪程序员,而你就不同了,希望你能在技术上有所成就。
    最后一个问题:你这个域名是买的吗?

    • At 2007.04.28 14:44, 彳亍 said:

      我用正则表达式来防范

      • At 2009.08.21 11:46, tiegu said:

        1L方法比较好

        • At 2010.08.04 10:30, 蚂蚁 said:

          发现出现的资源连接 发部分都是无法访问的 _ _#!

          (Required)
          (Required, will not be published)