小小地总结一下下
目前工作中应用到的Web安全测试分为以下4种:
1、跨站脚本
在页面的提交内容中加入JS代码,例如: <script>alert("hello")</script>
如果服务器端未对提交内容中的特殊字符进行转义,而直接保存进数据库。那么,当再次访问此内容的时候,此JS代码将会被浏览器解析和执行,
2、SQL注入
SQL注入可以算得上很严重的漏洞,如果出现,将对后台数据库造成非常严重的威胁。
检查方法分四步:
第一步:加单引号。
在类似于 这样的URL:http://www.51testing.com/spacecp.php?action=spaceblogs&op=edit&itemid=233044 (其实就是这篇日志的链接地址) 的itemid的值后面加单引号,like this: itemid=233044' 然后提交此页面,如果页面返回信息中有类似于查询语句异常或者是数据库脚本出错。则初步判断可能会有SQL注入的问题。
第二步:加两个单引号。
还是拿以上的URL为例子,在itemid的值后面加两个单引号,like this: itemid=233044'' 然后提交此页面,如果页面返回正常,则执行第三步。
第三步:加上或条件为真的语句。
还是拿以上的URL为例子,在itemid的值后面加或条件为1的语句,like this: itemid=233044' or '1'='1 然后提交此页面,如果返回了所有日志的信息,则可以肯定存在SQL注入的漏洞。
第四步:加上与条件为假的语句。
还是拿以上的URL为例子,在itemid的值后面加或条件为1的语句,like this: itemid=233044' and '1'='2 然后提交此页面,如果返回结果为空,则结合第三步的结果,可以肯定存在SQL注入的漏洞。
3、跨文件目录
这个漏洞一般出现在WEB页面上传附件功能,或者是图片、文件资源显示的功能。
右键显示图片、附件的属性,查看其URL,(待补充)
4、权限漏洞
这个漏洞比较容易检查出来,准备两个高低权限的帐号,比如一个管理员帐号A,一个普通用户B。
第一步,使用A帐号登录,打开只有管理员才能操作的页面,记录该页面的URL(A)
第二步,使用B帐号登录,访问URL(A),如果能够打开此页面,则说明存在权限漏洞。