本来这样的问题,不值得这样在次重复!没有最坚硬的盾也没有最锋利的矛,主要还是看对该问题的理解和认识上的程度,说来说去,还不是对那几个函数的使用和理解情况而已.(水平低劣不敢多说!呵!)
今天再次看了布丁BLOG上的相关函数,准备找些资料在仔细看看,在说点什么.但是看来看去还是那几篇文章,对于注入的问题.我没太在意过,只是把我自己想到的理个头绪,放在这里慢慢看看在说!
大家都只是对半角的单引号(英文状态下)做处理,我是见得最多的情况,有用是肯定的了,就是网上到处说的OR漏洞可以做到弥补.这个应该算了"逻辑"的问题.(我自己的说法)
另外接下来就是对QueryString值(一般是数字,我说的是常见情况)做判断处理,也是有用的处理.特别是大家习惯的新闻程序之类. Estyle(靳田) 说的:1、如果是排除法防注入,那么应该重点处理符号而非字母字符串。因为可用性应该放在首位,我们不能要求用户Lumida改名字是不是? 这的确是个问题,能够有通用的方法的确是最理想的了.而我说的那个函数只是对单个QueryString的处理,特别是数字的处理,这样一来,是非常必要的!因为MID函数对于猜解时候非常有用!比较麻烦的事情!2、除了非法字符串以外,我们还应该考虑比如过长字符串在内的一些另类情况,所以用正则表达式(编写理想的数据形式模式)进行主动验证要比被动的过滤法方便一些(引入的问题是无法容错); 非常赞同!我不知道别人是怎样做的.我实在对正则不熟悉(不怕见笑!汗,只能够在努力了!)这个问题我看布丁BLOG上的函数:
'####
'##
'## SQL注入攻击预防装置[字符型]
'##
'## @ data->处理的数据
'## @ length->长度限制
'##
'## 例: strSql("SQL字符型数据",50)
'##
function strSql(data,length)
'########################################################################
if length<>0 then data=left(data,length)
strSql="'"&replace(data,"'","''")&"'"
end function
是对接收的数据做50的处理,其实看情况也是可行的方法.只是觉得这样一来也是麻烦,函数能够做到通用是好事情不是?!呵!具体问题具体分析,这样做还是有点大胆了点,50已经是好长了!呵!!我的做法是---<%
if len(request.querystring("ddd"))> 8 then
response.write("黑我,少来!")
response.end %>
只是每次都要判断一下,手写多了点!蠢是蠢主要自己清楚那里可以被注入就这样处理应该是可行的(我到现在还是这样认为的,如果谁有高见,不妨指教一下,我一定虚心听取).8的长度可以再长点也没问题.接下来做点处理.把那些能够在注入能够用到的东西全部CUT了!呵!
----<%
Function checkStr(str)
if isnull(str) then
checkStr = ""
exit function
end if
checkStr=replace(str," ","")
checkStr=replace(str,"'","'")
checkStr=replace(str,";","'")
checkStr=replace(str,"--","'")
checkStr=replace(str,"(","'")
checkStr=replace(str,"[","'")
checkStr=replace(str,"$","'")
end function
%>
我想就足够了!我上文说的那几个纯属有点玩笑,但是也是一种想法而已罢了!!
---<%
Function checkStr(str)
if isnull(str) then
checkStr = ""
exit function
end if
checkStr=replace(str," ","")
checkStr=replace(str,"'","'")
checkStr=replace(str,";","'")
checkStr=replace(str,"--","'")
checkStr=replace(str,"(","'")
checkStr=replace(str,"[","'")
checkStr=replace(str,"$","'")
checkStr=replace(str,"asc'," ")
checkStr=replace(str,"mid"," ")
checkStr=replace(str,"delete"," ")
checkStr=replace(str,"drop"," ")
end function
%>
这样一来,就是有注入点,也是没办法了!因为我觉得至少在URL地址栏里要操作我的数据库已经非常难了(在说一次,只是想法,使用上具体情况灵活使用了)!
另外,如果对于注入猜解密码数据库字段成功后,对于WEB程序员来讲还有其它招数.我的想法是对用户密码做MD5处理后在入库,特别是重要的信息部分.话说开了就越来越多.
猜解设置的字典,我看很多人,特别是做数据库设计的人都知道大家都喜欢用:
username
user
name
u_name
administrators
userid
adminuser
adminpass
adminname
user_name
admin_name
usr_n
usr
dw
nc
uid
admin
admin_user
admin_username
user_admin
adminusername
pwd
自己看看,是不是都喜欢这样用,我不是说所有的人,反正我至少习惯用里面某个字段是真的,想想都得改这个习惯,最好数据库名字设置特殊一些比较好就是!还有字段名称设置也是复杂一些好!至于有多复杂自己想个自己记得住的差不多就行了,就是地球绕一圈回来也可以!呵!因为我是用过一些猜解工具,呵!!但是没试过别人的站点,其实也就是拿来做自己程序的检测罢了!呵!!所以列这些内容,另外还要注意这样的问题,就是对管理入口要设置得复杂一些(哎!我怎么又说"复杂一些"了~^)^~)
admin
admin_index
admin_admin
index_admin
admin/index
admin/default
admin/manage
admin/login
../admin/index
../admin/default
../admin/manage
../admin/login
manage
login
manage_index
index_manage
wocaonima
admin1
admin_login
login_admin
ad_login
ad_manage
count
login
manage
manager
guanli
denglu
houtai
houtaiguanli
htgl
adminlogin
adminuserlogin
admin_login
adm_login
chklogin
chkadmin
user
users
adduser
adminuser
admin_user
edituser
adduser
adminadduser
member
members
editmember
adminmember
addmember
logout
exit
login_out
edit
adminedit
admin_edit
delete
admindelete
admin_delete
del
admindel
admin_del
up
upload
upfile
backup
config
test
webmaster
root
aadmin
admintab
admin_main
main
art
article
databases
database
db
dbase
devel
file
files
forum
girl
girls
htdocs
htdocs
idea
ideas
include
includeinc
includes
incoming
install
manual
misc
mrtg
private
program
programming
programs
public
secret
secrets
server_stats
server-info
server-status
set
setting
setup
***
snmp
source
sources
sql
stat
statistics
Stats
stats
telephone
temp
temporary
tool
tools
usage
weblog
weblogs
webstats
work
wstats
wwwlog
wwwstats
www
wenzhang
这些都是字典文件.都看看用到了没!?呵!!看着后怕,我是!
布丁说的为什么老有人举ASCII码的问题,补充一下还是因为有大部分WEB程序员还是仅对半角引号和数字做判断,这里针对数字判断来说,当然这样了!
-14367-15895-10284-11319-19004-10780-10519
轻灵自由的珍珠
3 97 100 109 105 110
admin
45
-
是ASCII码!!
如果是这样写的:
if IsNumeric(request.querystring("ddd")) then
Execute("select * from [table]")
不是一样都绕过去了的说!说了很多烂得不能在烂的废话,一来我也没仔细研究过注入,二来在CSDN的WEB版这个话题,一个叫"小竹"的牛人是最有发言权的!我不敢造次!而且我接手WEB开发时间也不算长,经验就更少了!算是自娱自乐!!如果谁有更高明的做法,请留言.一起学习下!
************************************************************
原文在:http://blog.csdn.net/qunluo/archive/2004/07/24/50782.aspx
布丁的那篇在:http://blog.csdn.net/oyiboy/archive/2004/07/29/55030.aspx
***************************************************************
分享到:
相关推荐
标题 "几个常见的 Web 应用安全缺陷及样例(续)" 暗示了这篇文档将延续之前关于Web应用安全缺陷的话题,可能包括对已有的常见问题的深入解析,也可能涉及新的安全漏洞实例。描述中提到的博客链接可能是原始讨论的一...
设备应能检测SQL注入、Cookie注入、盲注、跨站脚本、文件包含和敏感信息泄露等常见Web漏洞。历次扫描结果的图表展示和详细内容切换功能有助于分析漏洞发展趋势。 报表功能要求设备生成的报告包含易懂的漏洞描述和...
4. **安全编码**:遵循安全编码最佳实践,防止代码注入等安全漏洞。 总的来说,这个Delphi自动升级系统结合MSSQL数据库,实现了从服务端的版本发布到客户端的自动更新检查和下载,为用户提供无缝的升级体验。在实际...
SmartUpload是一个常用的Java上传组件,它能够处理大文件上传、断点续传等问题。在服务器端,系统会将图片保存到指定的目录,并生成对应的URL,供新闻内容引用。 三、新闻发布模块 新闻发布系统的核心是新闻内容的...
在设计和实现过程中,系统需要防止SQL注入、跨站脚本攻击(XSS)、文件上传安全漏洞等。应使用参数化查询避免SQL注入,对用户输入进行过滤和转义以防止XSS,对上传的文件进行安全检查,禁止上传可执行文件或恶意...
简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...
由于软件行业更新迭代迅速,系统需要具备一定的扩展性和可维护性,以便定期添加新功能、修复漏洞和优化性能。同时,备份和恢复策略也很重要,以防数据丢失。 总的来说,【天空软件站绝对经典下载系统PHP+MySQL】是...
9. 安全性:在处理用户上传的图片时,需注意防止恶意代码注入,例如通过图片格式的漏洞执行恶意脚本。模块应进行安全检查,限制上传文件类型和大小。 10. API设计:作为模块,其接口设计非常重要,需要提供清晰、...
4. **安全技术**:了解Web应用安全漏洞,掌握基本的防御策略,如XSS、SQL注入防范。 5. **服务器管理**:懂得如何配置和管理服务器,包括负载均衡、性能调优等。 6. **软件测试**:包括单元测试、集成测试、压力...
4. **安全性**:考虑到文件上传可能导致的安全问题,如SQL注入、跨站脚本攻击(XSS)、文件包含漏洞等,源码中应包含相应的防护措施。例如,对上传文件名进行转义、过滤非法字符,限制特定文件类型,以及对上传文件...
4. **安全测试**:检查是否存在潜在的安全漏洞,如SQL注入、XSS攻击等。 #### 七、总结 综上所述,本项目旨在通过ASP.NET技术实现一个功能全面且易于使用的FTP客户端应用。通过对项目的深入研究与实践,不仅可以...
12.修改一些细微的SQL注入漏洞 13.发短信成功后跳转链接错误的问题 14.32位密码问题 15.32位密码问题 16.锁定用户时连用户发的贴子同时锁定 17.加入查看新贴 18.解除时提示信息错误 19.添加帖子图片浏览功能 20.修复...
1. 断点续传:对于大文件,系统可能支持断点续传功能,允许用户在中断后继续上传或下载。 2. 分片处理:为减轻服务器压力,大文件可能会被分片处理,每一片单独上传或下载。 六、安全性考虑 1. 安全编码:防止SQL...
- **输入验证**:对所有用户输入进行严格验证,防止SQL注入、XSS攻击等安全漏洞。 - **文件类型过滤**:限制上传文件的类型,避免恶意文件上传。 - **权限控制**:根据用户角色分配不同的权限,确保数据安全。 - **...
9. **性能优化**:包括文件的分块上传、断点续传、文件的缓存策略,以及可能的CDN(内容分发网络)集成以提高大文件的加载速度。 10. **安全性**:使用HTTPS确保数据传输的安全,防止未授权访问,定期更新和打补丁...
三、与前后课程的联系 1、与前续课程的联系 本课程的前导课程主要有:《Windows Server 2003》、《计算机网络技术基础》和《网络设备互联技术》等,学生在掌握计算机网络技术知 识和网络设备配置后,能为本课程学习...
4. **安全机制**:修复的10多个BUG可能涉及防止SQL注入、XSS攻击的安全漏洞,以及确保用户隐私不被泄露的安全策略。 5. **权限管理**:可能存在用户注册、登录系统,不同级别的用户可能有不同的权限,如普通用户...
更强机制的防注入漏洞 修补下载任意文件漏洞 上传类型增加系统内置禁止类型 设了子帐号却未出现子字 删除分组时检测是否有用户属于此组 .net4在共享时选用户时不返回问题 多文件转发时下载地址相同的问题 ...
4. 安全编码:在处理文件名时,应避免注入攻击,如路径遍历漏洞。 总结,构建一个完整的文件上传下载系统涉及客户端与服务器端的交互、文件的存储和管理、以及安全性的多方面考虑。通过合理的架构设计和技术选型,...
最后,整个系统应遵循最佳安全实践,包括但不限于:使用HTTPS进行加密通信、定期审计代码以发现潜在漏洞、应用安全更新、使用CSRF令牌防止跨站请求伪造,以及实施输入验证以防范SQL注入等攻击。 总之,实现简单的...