asp万能密码以及解决方案
近日公司换了工作日志和总结的提交方式了,用的一个asp的OA系统,说白了,就是一个增删改查日志和用户的简单asp程序。
我在提交 工作日志的时候日期写错了,这个用我的户是不能修改的。admin也不在我手里。于是我想想办法把admin给破了。进入后台,右上角看了一下,dvbbs.net 哟呵,还是动网的系统。 百度了一下无果。没看到动网有出关于工作日志的系统。追代码也没追出个所以然来。
忽然想起,还在大学读书的时候,有折腾过类似的日志管理系统。就常识了一下,没想到还真进去了。
其实很简单,这算是asp的一个bug,其实也不算bug。不纠结这个问题。
帐号 admin 密码 "or"="or" 回车,进去了。 "or"="or"是asp的通用密码。这给我的感觉是开发者太不谨慎了。万能密码都没有屏蔽。
那么如何解决这个问题呢?其实很简单。
Replace过滤字符
查找login.asp下的<from找到下边的类似
username=request.Form("name")
pass=request.Form("pass")
修改为
username=Replace(request.Form("name"), "'", "''")
pass=Replace(request.Form("pass"), "'", "''")
语法是屏蔽'和''字符来达到效果.
Skyer
aaaaaaaa