web基础漏洞-sql注入
1、介绍
sql注入,是用户提交的数据,服务端接收后未经过严格检查,将其直接拼接到sql语句中,交给sql应用执行,超出了开发者预期的sql语句结构,从而造成危害。
2、详解
(1)从数据来说,任何前端提交的数据,都有可能成为sql注入的参数。包括get、post、及其它请求方法,包括url、请求头部和请求体部位置,包括ajax和非ajax请求形式。甚至包括http与非http的请求。
(2)从sql应用来说,几乎所有sql应用都存在sql注入的风险。包括mysql、sql server、oracle等。
(3)从编程语言来说,java、php等都存在sql注入风险。但相对来说,php等解释型语言风险更高,因为编译型语言天然的分割了字符串和数值类型。
(4)从sql语句来说,任何类型都存在sql注入风险。包括select、delete、update、insert以及其它。但相对来说,select语句在业务上最常见,从测试来说也相对安全,最多需要考虑脱库风险,而其它语句可能对数据库造成更改。
(5)从防护角度来说,预编译是核心方法,能够完全避免sql注入
3、select类型的五种测试
(1)联合注入
(2)时间盲注
(3)布尔盲注
(4)异常注入
(5)堆栈注入
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战