Archive for 八月, 2007

Dreamweaver中sql注入式攻击的防范 zz

Posted on 八月 24, 2007. Filed under: Uncategorized |

转载自: http://www.secnumen.com/technology/sql011.htm
Dreamweaver+ASP可视化编程门槛很低,新手很容易上路。在很短的时间里,新手往往就已经能够编出看来比较完美的动态网站,在功能上,老手能做到的,新手也能够做到。那么新手与老手就没区别了吗?这里面区别可就大了,只不过外行人很难一眼就看出来罢了。界面的友好性、运行性能以及网站的安全性方面是新手与老手之间区别的三个集中点。在安全性方面,新手最容易忽略的问题就是SQL注入漏洞的问题。用NBSI 2.0对网上的一些ASP网站稍加扫描,就能发现许多ASP网站存在SQL注入漏洞。
所谓SQL注入(SQL injection),就是利用程序员对用户输入数据的合法性检测不严或不检测等设计上的漏洞,故意从客户端提交特殊的代码(SQL命令),收集程序及服务器的信息,获取想得到的资料而进行的攻击。
可见Sql注入攻击得逞的主要原因没有对用户输入的数据进行验证,可以从客户端动态生成Sql命令。 一般的http请求不外乎get 和 post,所以只要我们在程序中过滤所有post或者get请求的参数信息中非法字符,即可实现防范SQL注入攻击。
遗憾的是DW并没有提供相关代码,因此要想防范SQL注入式攻击就需要手工修改, 只要将下面的程序保存为SQLinjection.asp,然后在需要防注入的页面头部调用 <!–#Include File=”SQLinjection.asp”–> 就可以做到页面防注入.
如果想整站防注,就在DW生成的Connections目录下的数据库连接文件中添加头部调用或直接添加下面程序代码,需要注意的是,在添加到数据库连接文件中,可能在后台表单添加文章等内容时,如遇到SQL语句系统会误认为SQL攻击而提示出错。
通用程序代码(引自网络做适当更改)如下:
<% ‘——–定义部份—————— dim sql_injdata SQL_injdata = “‘|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|1=1|1=2|;” SQL_inj = split(SQL_Injdata,”|”
‘——–POST部份—————— If Request.QueryString<>”” Then For Each SQL_Get In Request.QueryString For SQL_Data=0 To Ubound(SQL_inj) if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then Response.Write “<Script Language=JavaScript>alert(‘系统提示你!\n\n请不要在参数中包含非法字符尝试注入!\n\n’);window.location=”&”‘”& “index.htm”&”‘”&”;</Script>” Response.end end if next Next End If
‘——–GET部份——————- If Request.Form<>”” Then For Each Sql_Post In Request.Form For [...]

Read Full Post | Make a Comment ( None so far )

Winrunner的Test GUI出现"already exists in the GUI map"

Posted on 八月 10, 2007. Filed under: Uncategorized |

用winrunner跑回归测试的时候,出了个already exists “GUIwindowName” in the GUI map的错误。找了半天,终于让我搜到,原来是GUI mao editor把我在它报不认识GUI窗口时点击的窗口给录进去了,这样就和GUI map里面的窗口名字重复,于是不能load GUI map文件。
解决很简单,把winrunner->tool->GUI map editor里面有GUIwindowName(就是报错时说的那个对象)那条给删掉,就可以了。
If you run a regression test for a test GUI, there’s an prompt windows telling: already exists “GUIwindowName” in the GUI map, that’s probably because there’s a temp GUI file stored by your manually record, which has the same windowName with the [...]

Read Full Post | Make a Comment ( None so far )

Liked it here?
Why not try sites on the blogroll...