除了sql注入还有哪些常见的网络攻击?

您所在的位置:网站首页 数据库常见的攻击的检测方法有 除了sql注入还有哪些常见的网络攻击?

除了sql注入还有哪些常见的网络攻击?

2023-11-24 13:50| 来源: 网络整理| 查看: 265

引入主题 上一次面试一家公司的安全部门,基础问完之后问到了你了解过哪些网络安全攻击?

作为一个大三的学生,也就是在开发的时候听人说到过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