分享

你知道什么是SQL注入吗?

SQL注入是一种非常常见的数据库攻击手段,只要有数据库存在的地方就可能存在SQL注入漏洞。SQL注入攻击的核心在于让Web服务器执行攻击者期望的SQL语句,以便得到数据库中的敏感数据,或对数据库进行读取、修改、删除、插入等操作,最终实现攻击的目的。SQL注入的常规套路在于将SQL语句放置于Form表单或请求参数之中(比如SELECT、DROP等等)提交到后端服务器,后端服务器如果未做输入安全校验,直接将变量取出进行数据库查询,则极易中招。 640.jpg 举个简单的SQL注入例子,对于一个根据用户ID获取用户信息的接口,后端的SQL语句一般是这样:select name,[...] from t_user where id=$id其中,$id就是前端提交的用户id,那前端的请求如果是这样:GET xx/userinfo?id=1%20or%201=1请求参数id转义后就是1 or 1=1,如果后端不做安全过滤直接提交数据库查询,SQL语句就变成了:select name,[...] from t_user where id=1or1=1最终结果就是把用户表中的所有数据全部查出,已经达到了攻击者的目的。实际SQL注入攻击中参数构造和SQL语句远比这复杂得多,攻击者攻击的位置也复杂的多,不过原理是一致的,其复杂度提升产生的攻击效果可想而知。(本文插图素材来源于百度图库)

版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系在线客服