前端攻击方法总结
SQL注入:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
如何防止SQL注入:
1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。
2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接
4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息
5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装
6.采用一些工具或网络平台检测是否存在SQL注入
XSS跨站脚本攻击:攻击者在网页中嵌入客户端脚本(例如JavaScript),当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的,比如获取用户的Cookie,导航到恶意网站,携带木马等。
如何防止XSS跨站脚本攻击:
原则:不相信用户输入的数据
注意:攻击代码不一定在<script></script>中
1.将重要的cookie标记为http only,这样的话Javascript 中的document.cookie语句就不能获取到cookie了
2.只允许用户输入我们期望的数据。例如:年龄的textbox中,只允许用户输入数字,而数字之外的字符都过滤掉
3.对数据进行Html Encode 处理。< 转化为 <、> 转化为 >、& 转化为 &、' 转化 为 '、" 转化为 "、空格转化为
4.过滤或移除特殊的Html标签。例如:<script>、<iframe>、< for <、> for >、" for
5.过滤JavaScript 事件的标签。例如 "onclick="、"onfocus" 等等
浙公网安备 33010602011771号