全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

什么是注入攻击?举例说明?

发布时间:2022-09-16 16:09:43
发布人:wjy

  什么是注入攻击?从具体的SQL注入说?

  重点看这条SQL,密码输入: ' OR '1'='1时,等同于不需要密码

什么是注入攻击

  如何解决注入攻击,比如SQL注入?

  1. 使用预编译处理输入参数:要防御 SQL 注入,用户的输入就不能直接嵌套在 SQL 语句当中。使用参数化的语句,用户的输入就被限制于一个参数当中, 比如用prepareStatement

  2. 输入验证:检查用户输入的合法性,以确保输入的内容为正常的数据。数据检查应当在客户端和服务器端都执行,之所以要执行服务器端验证,是因为客户端的校验往往只是减轻服务器的压力和提高对用户的友好度,攻击者完全有可能通过抓包修改参数或者是获得网页的源代码后,修改验证合法性的脚本(或者直接删除脚本),然后将非法内容通过修改后的表单提交给服务器等等手段绕过客户端的校验。因此,要保证验证操作确实已经执行,唯一的办法就是在服务器端也执行验证。但是这些方法很容易出现由于过滤不严导致恶意攻击者可能绕过这些过滤的现象,需要慎重使用。

  3. 错误消息处理:防范 SQL 注入,还要避免出现一些详细的错误消息,恶意攻击者往往会利用这些报错信息来判断后台 SQL 的拼接形式,甚至是直接利用这些报错注入将数据库中的数据通过报错信息显示出来。

  4. 加密处理:将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防止了攻击者注入 SQL 命令。

  还有哪些注入?

  1. xPath注入,XPath 注入是指利用 XPath 解析器的松散输入和容错特性,能够在 URL、表单或其它信息上附带恶意的 XPath 查询代码,以获得权限信息的访问权并更改这些信息

  2. 命令注入,Java中System.Runtime.getRuntime().exec(cmd);可以在目标机器上执行命令,而构建参数的过程中可能会引发注入攻击

  3. LDAP注入

  4. CLRF注入

  5. email注入

  6. Host注入

相关文章

新手直播带货怎么做起来?有何技巧?

2023-09-19

做视频创作者怎么赚钱?个人怎么靠流量赚钱?

2023-09-19

怎样投抖加不花钱?别人能看出来吗?

2023-09-19

抖店怎么拦截快递?线下结算是什么?

2023-09-19

抖店平台商户被退店还能退货吗?如何提高评分?

2023-09-19

抖店入驻收费多少?开抖店费用是多少?

2023-09-19
在线咨询 免费试学 教程领取