HTML标签:<…>…</…>
转义字符:&(&);<(<);>(>); (空格) ;
脚本语言:<script>alert(document.cookie);</script>
特殊字符:‘’ <>/
最小和最大的长度
是否允许空输入
对Grid、Label、Tree view类的输入框未作验证,输入的内容会按照html语法解析出来,要控制脚本注入的语法要素。比如:javascript离不开:“<”、“>”、“(”、“)”、“;”. 在输入或输出时对其进行字符过滤或转义处理
2.23)注入式漏洞(SQL注入)
对等进行注入攻击。
例:一个验证用户登陆的页面,
如果使用的sql语句为:
Select *fromtable A
whereusername=’’ + username+’’ and pass word …..
则在Sql语句后面输入‘ or 1=1 ――就可以不输入任何password进行攻击
SELECT count(*)
FROM users
WHERE username=‘a‘ or ‘a‘=‘a‘ AND password=‘a‘ or ‘a‘=‘a‘
(资料太多,不显示了此处,借助工具Appscan等吧)
2.24)传输中与存储时的密码没有加密
利用ssl来进行加密,在位于HTTP层和TCP层之间,建立用户与服务器之间的加密通信
进入一个SSL站点后,可以看到浏览器出现警告信息,然后地址栏的http变成https (特点确定)
证书认证
————————————————————————
检查中的用户密码、管理者密码等字段是否是以加密方式保存。
存储单独隔离,有备份的,权限唯一
2.25)目录遍历
举例:
?dir=MyFolder
那现在把这个URL改装一下:
... /local/apache/conf/
/usr/local/apache/conf/里的所有文件都出来了
简要的解决方案:
1、限制Web应用在服务器上的运行 ,格设定WEB服务器的目录访问权限
2、进行严格的输入验证,控制用户输入非法路径,如在每个目录访问时有index.htm
(三)研发或使用工具才能进行
认证和会话数据不能作为GET的一部分来发送
隐藏域与CGI参数
不恰当的异常处理
不安全的配置管理
缓冲区溢出
拒绝服务
日志完整性、可审计性与可恢复性
3.1)Get or post
认证和会话数据不应该作为GET的一部分来发送,应该使用POST
例:对Grid、Label、Tree view类的输入框未作验证,输入的内容会按照html语法解析出来
可使用TamperIESetup或ScannerHttpAnalyzerFull来判断
3.2)隐藏域与CGI参数
Bug举例:
分析:隐藏域中泄露了重要的信息,有时还可以暴露程序原代码。
直接修改CGI参数,就能绕过客户端的验证了。
如:<inputtype="hidden" value="http://XXX/checkout.php">
只要改变value的值就可能会把程序的原代码显示出来。
如大小写,编码解码,附加特殊字符或精心构造的特殊请求等都可能导致CGI源代码泄露
可使用appscan或sss等来检测,检查特殊字符集
3.3)不恰当的异常处理
分析:程序在抛出异常的时候给出了比较详细的内部错误信息,暴露了不应该显示的执行细节,网站存在潜在漏洞,有可能会被攻击者分析出网络环境的结构或配置
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-67715-18.html
日本联合舰队总吨位8万吨