可以赢钱提现的游戏:ASP网站安全问题!

来源:百度文库 编辑:神马品牌网 时间:2024/04/16 17:56:25
请问:
1:我用AD注入工具能扫描出我网站的管理密码和账号!
但是是MD5加密的!请问有没有破解MD5加密的软件呢?怎样才能不被找到密码和账号呢?
2:我的网站有很多注入漏洞,有没有什么方法能防止注入的呢?我在网上找了一些代码,但是用了都没有效果,希望有经验的站长能指点一下!
3:每次管理完网站后!我把网站后台的登入口隐藏或者删除网站是不是就安全了!
我的网站是Access+ASP的!SQl注入应该影响不到我吧!不好意思,我是菜鸟!!!
看了风三皮 的 博客网站,没有找到相关的东东啊,汗!!!!

正好我前一段时间也在研究如何提高网页的安全性,说说我的一些方法心得,互相交流一下。
1,找到密码和账号是通过SQL注入找到的。虽然MD5加密的密码不能被逆向破解,但是存在SQL注入漏洞的话对方完全可以用代码直接将你的密码改为AAABBBCCCDDDEEEF,也就是密码为1。就可以直接登录了。所以最关键的问题在于如何防止SQL注入。
SQL注入方式已经太多资料了,我就不转载了。简单的说,SQL注入就是通过巧妙插入SQL代码,让系统执行,从得到的结果来一步步解开破解信息。而这个代码,只要是交互的地方都有可能被插入。例如字符串传递:XXX.asp?id=****,或者在用户名输入框,或者搜索框.......
因此,我们只要保证所插入的信息没有SQL代码就可以了。
例如,用户登录程序中,我们只要把
username=request.Form("username")
修改为
username=trim(request.Form("username"))
也就是去掉空格,这样SQL代码就没法用,就基本可以防范从用户登录界面进行SQL注入了。但是还不够,因为空格可以用unicode码代替,所以我们还要把unicode特有的字符%替换掉,就没问题了。
对于从字符串传递的参数,我们也可以同样处理,用trim()去除空格,然后用replace替换% 。这样还不够,还应再把()小括号替换掉,把单引号'替换掉。
如果是id之类纯数字,还应在用cint()强制转为数字,如果不是数字就会在这一步出错。

2,这个问题实际上和第一个问题是一样的,就是从防止SQL注入出发。

3,只要你的网站还有输入的地方,而且这个输入的地方会被诸如sql="select * from asdf where id="&id这样的语句执行,就必须防范SQL注入。Access+asp除了防范SQL注入,还要防范暴库,也就是被黑客用一些语句判断出你的数据库地址,把你整个数据库下载下来。。。。到时候还不是想怎么看就怎么看,想怎么玩就怎么玩!
防止数据库被下载,你可以在数据库里面新建一个表,表里面输入一个文本内容为<%asdfasdfasdf%>随便输,反正只要不能被执行就可以了。然后把数据库改名为.asp后缀,这样对方试图下载的时候就会提示:asp解析出错,第XX行。这样就不用怕暴库了。此外配置mdb文件解析对应,配置数据池等等方法都可以比较有效的防止暴库。

把一些简单的字符屏蔽掉,比如空格,单引号什么的