佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: 轩辕皇帝

网页教学,骇客技术与防范(TECHNIQUE AND PROTECTION)

[复制链接]
发表于 10-5-2006 01:20 PM | 显示全部楼层
原帖由 红发 于 10-5-2006 12:05 PM 发表
朕,小的可以问一个问题吗。


  1. user = Replace(request.form("userid"),"'","")
复制代码


我这样写可以吗??

还有其他预防的方法吧!?
例如:
当系统监测到login id的white space内
含有标点符号或空格的话,将会显示错误,
或限制login id 的字数长度 为15以内。



我的php的login.inc里面这样写:
    $query = "SELECT user_id
              FROM user
              WHERE user_id = '$user_id'
              AND password = '$password'";

不知道有什么漏洞。

[ 本帖最后由 亡者之疯 于 10-5-2006 01:26 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 11-5-2006 12:19 AM | 显示全部楼层
那... 应该如何解决SQL INJECTION的问题?
请版主指导...

[ 本帖最后由 伪君子 于 11-5-2006 12:31 AM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 11-5-2006 12:33 PM | 显示全部楼层
原帖由 红发 于 10-5-2006 12:05 PM 发表
朕,小的可以问一个问题吗。


  1. user = Replace(request.form("userid"),"'","")
复制代码


我这样写可以吗??


可以,&(),"<>这些符号也filter
回复

使用道具 举报

 楼主| 发表于 11-5-2006 12:35 PM | 显示全部楼层
原帖由 亡者之疯 于 10-5-2006 01:20 PM 发表

还有其他预防的方法吧!?
例如:
当系统监测到login id的white space内
含有标点符号或空格的话,将会显示错误,
或限制login id 的字数长度 为15以内。



我的php的login.inc里面这样写:
不知道有 ...


据朕所知, php 没这个bug,
apache已经将 '用null取之
。。。有待php高手证实
回复

使用道具 举报

 楼主| 发表于 11-5-2006 12:37 PM | 显示全部楼层
原帖由 伪君子 于 11-5-2006 12:19 AM 发表
那... 应该如何解决SQL INJECTION的问题?
请版主指导...



  1. SOLUTION:
  2. 1.        FILTER & VALIDATE LOGIN & PASSWORD VALUE,REPLACE” ’ “WITH NULL
  3. 2.        DO NOT DISPLAY ERROR DESCRIPTION/DEBUGGING INFORMATION。 LOG THEM IN A LOG FILE
  4. 3.        “select * from table where field1=field1” : IF NOT EOF ,IF FIELD2=FIELD2
复制代码

[ 本帖最后由 轩辕皇帝 于 11-5-2006 12:38 PM 编辑 ]
回复

使用道具 举报

发表于 11-5-2006 01:10 PM | 显示全部楼层
原帖由 轩辕皇帝 于 10-5-2006 11:12 AM 发表
教学 2: SQL INJECTION
LANGUAGE:ASP & OTHERS
DATABASE:MS ACCESS, SQL SERVER & ANY OTHER DATABASES

许多网络上的网站都迈向E-COMMERCE,所以免不了要让会员登入一些会员专用区,让会员 ...


"select * from table where loginid='".$_POST['loginid']."' and password='".$_POST['password']."'"

看起來這是個懶惰的方法
我是 select * from table where loginid='.$_POST['loginid'].'
然後自己比較 $_POST['password'] 和 database 的密碼

因為考慮使用 1 way encryption 來保護密碼
而分開處理則可以用不同的 encryption 而不只限於 database 自己的 encryption

還有就是常常會遇到使用 special characters 的資料
所以 addcslashes 幾乎已經是必備的了

[ 本帖最后由 flashang 于 11-5-2006 01:32 PM 编辑 ]
回复

使用道具 举报

Follow Us
发表于 11-5-2006 01:27 PM | 显示全部楼层
原帖由 轩辕皇帝 于 11-5-2006 12:33 PM 发表


可以,&(),"<>这些符号也filter



那样要怎样同时filter 两个以上呢??

因为我的只可以一个罢了
回复

使用道具 举报

 楼主| 发表于 11-5-2006 05:35 PM | 显示全部楼层
原帖由 红发 于 11-5-2006 01:27 PM 发表



那样要怎样同时filter 两个以上呢??

因为我的只可以一个罢了


  1. user = Replace(request.form("userid"),"'","")
  2. user = Replace(user,"&","")
  3. user = Replace(user,"$","")
  4. user = Replace(user,"%","")
  5. .......
复制代码
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 11-5-2006 05:44 PM | 显示全部楼层
原帖由 flashang 于 11-5-2006 01:10 PM 发表


"select * from table where loginid='".$_POST['loginid']."' and password='".$_POST['password']."'"

看起來這是個懶惰的方法
我是 select * from table where loginid ...


下个教学是SQL SERVER的漏洞,即使将每个field的value encrypt 起来都没用。骇客可以用此漏洞读取server side script,甚至删除。。。。
回复

使用道具 举报

发表于 11-5-2006 08:48 PM | 显示全部楼层
原帖由 轩辕皇帝 于 11-5-2006 05:35 PM 发表



[code]user = Replace(request.form("userid","'",""
user = Replace(user,"&",""
user = Replace(user,"$",""
user = ...


原来是和我想的一样麻烦

那ASP.net是不是也一样呢?
回复

使用道具 举报

发表于 29-5-2006 02:06 PM | 显示全部楼层

  1. Dim i As Short
  2.         While i < user.Length
  3.             If user.Chars(i) < "a" Or user.Chars(i) > "z" Then
  4.                 user = user.Replace(user.Chars(i), "")
  5.             Else
  6.                 i += 1
  7.             End If
  8.         End While
复制代码

[ 本帖最后由 tensaix2j 于 29-5-2006 02:07 PM 编辑 ]
回复

使用道具 举报

发表于 29-5-2006 04:45 PM | 显示全部楼层
第三个教学呢?小弟等不及了。。。
回复

使用道具 举报

发表于 29-5-2006 04:50 PM | 显示全部楼层
太 好 了 , 吾 等 已 久 候 这 种 贴 多 时 了 ,谢 谢 分 享 。
回复

使用道具 举报

发表于 29-5-2006 10:42 PM | 显示全部楼层
原帖由 tensaix2j 于 29-5-2006 02:06 PM 发表

Dim i As Short
        While i < user.Length
            If user.Chars(i) < "a" Or user.Chars(i) > "z" Then
                user = user.Replace(user.Chars(i), &quo ...



问一下,大小写会不会影响到。。。
回复

使用道具 举报

发表于 30-5-2006 10:15 AM | 显示全部楼层
好耶,这个贴教得很厉害。
不会太难明白。
期待下一篇

谢谢皇上
回复

使用道具 举报

发表于 30-5-2006 06:30 PM | 显示全部楼层
原帖由 windfreeze 于 29-5-2006 04:45 PM 发表
第三个教学呢?小弟等不及了。。。


轩辕皇心情低落中,心力交瘁,无心恋战。。。无论如何。谢谢支持,过了一段时间,他就会放上来。既然开了此帖,就不食言
回复

使用道具 举报


ADVERTISEMENT

发表于 30-5-2006 08:35 PM | 显示全部楼层
原帖由 轩辕二世 于 30-5-2006 06:30 PM 发表


轩辕皇心情低落中,心力交瘁,无心恋战。。。无论如何。谢谢支持,过了一段时间,他就会放上来。既然开了此帖,就不食言

他发生什么事了?
回复

使用道具 举报

发表于 31-5-2006 10:53 AM | 显示全部楼层
原帖由 轩辕二世 于 30-5-2006 06:30 PM 发表


轩辕皇心情低落中,心力交瘁,无心恋战。。。无论如何。谢谢支持,过了一段时间,他就会放上来。既然开了此帖,就不食言


皇上须龙体为重,臣等就在此恭候
回复

使用道具 举报

发表于 31-5-2006 01:17 PM | 显示全部楼层
原帖由 hui_wooi 于 30-5-2006 08:35 PM 发表

他发生什么事了?



给女人飞了
回复

使用道具 举报

发表于 31-5-2006 03:10 PM | 显示全部楼层
原帖由 红发 于 31-5-2006 01:17 PM 发表



给女人飞了

真的吗?天下何处无芳草?看开点,会找到更适合的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 13-5-2024 02:59 PM , Processed in 0.059343 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表