【小白一看就会的笔记】SQL注入笔记-理论

前言

平时写的文档啦(笔记)~搬到网页上有些困难,将就些看吧~

版权所有:[冰崖] 此系列仅发布在公众号、CSDN及冰崖官网,转载联系站长~

理论性的东西(1.SQL注入基础)

sql注入攻击指的是通过构造特殊的输入作为参数插入到web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令,而这些输入大多数是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数。

【例:SQL注入】

理论性的东西(2.SQL注入如何出现的)

不当的字符处理

SQL数据库将单引号解析成了代码与数据的分割线,单引号外面的内容均是需要执行的代码将用户输入直接传递给动态创建的SQL语句单引号字符串会被解析成字符串分割,并作为代码与字符的分界,处理数字数据时,不需要使用单引号将数字数据引起来

不当的数据库配置

大部分数据库管理员喜欢使用sa或者root权限进行数据库操作,无非就是为了图个方便,SQL server经常使用sa作为数据库管理员,MySQL则用root作为数据库管理,Oracle在创建数据库时会创建SYS,SYSTEM和OUTLN账户,大部分数据库都采用默认口令登入,当web应用采用最高用户时将会拥有所有权限

不合适的查询处理

【例:来,让我们编写一个简单登入注入页面】

综上,在进行数据库操作时,用户的输入没有经过严格的过滤,而是直接带入查询,用户可以构造SQL语句,进行拼接注释等等方式构造SQL语句来执行自己的语句,但是,已经9102年了,我在各个平台挖的洞基本上都没存在什么SQL盲注啊,延时啊等等,只存在一些CSRF,SSRF,CSS(XSS)...

不当的错误处理

服务器错误一般来说在公网上自然错误是很少见的,普遍都是攻击者通过一些被动语句使得服务器报错返回502、504等等

(图为Discuz!返回的错误)

(图为某教育机构返回的错误)

一般来说,导致错误处理不当最常见的原因是将详细的内部错误消息展示给用户或者攻击者。一些错误信息会为攻击者提供缺陷或者相关的线索,开发和服务器配置时导致将错误直接回显

(客户端请求服务器流程图)

发布了16 篇原创文章 · 获赞 9 · 访问量 6569

猜你喜欢

转载自blog.csdn.net/weixin_42608762/article/details/101149918