|
网页教学,骇客技术与防范(TECHNIQUE AND PROTECTION)
[复制链接]
|
|
发表于 10-5-2006 01:20 PM
|
显示全部楼层
原帖由 红发 于 10-5-2006 12:05 PM 发表
朕,小的可以问一个问题吗。
- 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 编辑 ] |
|
|
|
|
|
|
|
发表于 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 发表
朕,小的可以问一个问题吗。
- 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的问题?
请版主指导...
- SOLUTION:
- 1. FILTER & VALIDATE LOGIN & PASSWORD VALUE,REPLACE” ’ “WITH NULL
- 2. DO NOT DISPLAY ERROR DESCRIPTION/DEBUGGING INFORMATION。 LOG THEM IN A LOG FILE
- 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 编辑 ] |
|
|
|
|
|
|
|
发表于 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 两个以上呢??
因为我的只可以一个罢了
- user = Replace(request.form("userid"),"'","")
- user = Replace(user,"&","")
- user = Replace(user,"$","")
- user = Replace(user,"%","")
- .......
复制代码 |
|
|
|
|
|
|
|
楼主 |
发表于 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
|
显示全部楼层
|
|
|
|
|
|
|
发表于 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), "")
- Else
- i += 1
- End If
- 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 发表
第三个教学呢?小弟等不及了。。。
轩辕皇心情低落中,心力交瘁,无心恋战。。。无论如何。谢谢支持,过了一段时间,他就会放上来。既然开了此帖,就不食言 |
|
|
|
|
|
|
|
发表于 30-5-2006 08:35 PM
|
显示全部楼层
原帖由 轩辕二世 于 30-5-2006 06:30 PM 发表
轩辕皇心情低落中,心力交瘁,无心恋战。。。无论如何。谢谢支持,过了一段时间,他就会放上来。既然开了此帖,就不食言
他发生什么事了? |
|
|
|
|
|
|
|
发表于 31-5-2006 10:53 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 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 发表
给女人飞了
真的吗?天下何处无芳草?看开点,会找到更适合的。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|