1 输入验证要记牢 (一切又输入的地方都可能是万恶之本,罪恶之源)
2 手握双枪CS (client端 server端 双双把关进行验证)
3 输出加编码 (输出编码能有效地方志html注入(跨站脚本XSS攻击),也能确保输出内容的完整性和正确性)
4 数据加约束
5 SQL注入
通过把SQL命令插入到web表单递交或者输入域名或页面请求的查询字符串,最终达到欺骗服务器执行而已的SQL命令,通过递交参数构造巧妙的SQL语句,从而成功的获取想要的数据。
sql注入可以分为5大类:数字型注入、字符型注入、搜索型注入、in型注入、语句连接性注入。
例如mssql 中 输入 or 1=1--
例如mysql 中 输入 or 1=1/*
解决办法:前面的文章有提及
6 跨站漏洞攻击XSS :指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其它用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
例如 提交用户cookie信息到黑客指定页面,进行分析。
组要的防御方式:
a 编码输出
b ubb编码
c iframe security=“restricted”
d HttpOnly 设置cookie的httponly属性,有效的防止cookie通过脚本泄露。 例如 authCookie.HttpOnly=true
e 字符过滤
7 跨站请求伪造 CSRF Cross-site request forgery 也称为one click attack 或者 session riding
通常缩写为CSRF XSRF;
XSS 利用站点内的新人用户;
而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。比XSS更加危险性。
其危害性例如:给自己提升权限,增加管理员。银行钓鱼盗钱
主要的防御方式:
a ViewStateUserKey (post)
b 追加安全验证码 (get)
c 验证直接地址连接和外站连接
8越权 不要用用户可修改的数据进行验证。如:隐藏TextBox Label Cookie
9 IO及文件权限
10 缓存泄露
11 密码体系
12日志和监测
chr(32) 空格
chr(34) “
select char(39) from dual ‘