除了sql注入还有哪些常见的网络攻击? |
您所在的位置:网站首页 › 数据库常见的攻击的检测方法有 › 除了sql注入还有哪些常见的网络攻击? |
引入主题 上一次面试一家公司的安全部门,基础问完之后问到了你了解过哪些网络安全攻击? 作为一个大三的学生,也就是在开发的时候听人说到过sql注入,也简单了解了一下,至于xss更是只知其名,平时忽略了网络安全方面的了解。总结一下比较常见的三种网络攻击方式。 SQL注入将SQL语句插入到web表单中或URL中,来让服务器执行恶意SQL语句。 解决方法是,使用参数化的SQL,不要使用拼装SQL;可以通过正则表达式对用户的输入进行校验;可以将单引号和双横杠(注释符)进行转换。建议使用#{},而不是${}。 #{}和${}的区别?#{}是预编译处理,$ {}是字符串替换。mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;mybatis在处理 $ { } 时,就是把 ${ } 替换成变量的值。使用 #{} 可以有效的防止SQL注入,提高系统安全性。 #{parm}传入的数据都当成一个字符串,会对自动传入的数据加一个双引号,避免被当成sql一部分,被sql注入。 ${param}传递的参数会被当成sql语句中的一部分 XSS(跨站脚本攻击)client那边输入了一些奇怪的js代码,被注入到html里面,产生例如盗取用户cookie信息的效果。 解决方法是,将用户提交的转义成,。开启cookie的HttpOnly属性。 CSRF(跨站请求伪造)盗用合法的用户名义来完成操作,让服务器无法辨别。 例如我登录了一个金融网站,进行一笔支付,服务器验证Cookie,这个操作是合法的。但是黑客通过广告引诱等形式引导我进去某个网站,加载这个网站的时候就会产生一个向黑客支付的请求,因为此时还带着自己的cookie,服务器辨别不出。这样,攻击者就通过我的身份来执行转账操作。 解决方法是,提交请求时携带Token,每次都是一个合法的随机数,并保证它的私密性;判断HTTP头的Referer字段,来确定这个请求是不是对应网页发出的。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |