SQL注入基础 sql注入详细解释 小白学习笔记

Stella981
• 阅读 641

sql注入作为安全攻防中最重要的一个部分,可以说是所有渗透测试注入中最为重要的一个注入,不管是预防还是测试,都需要扎实的基础才能明白sql注入。

温馨提示:此文章仅限于学习记录与讨论,不得随意测试或者注入,互联网不是法外之地,任何除学习之外的事情与作者无关。

sql注入顾名思义就是执行sql命令

原理:执行的用户能使用sql注入绕过认证机制输入变量,使得sql语句发生变化,通过接收和传递重新定义sql语句,然后可以重新操作。

原理一定要弄清楚,以后才可以活学活用。

产生sql注入的条件:1.变量传递,可控变量

                                  2.使变量带入数据库进行查询(使其执行sql语句)


判断一个网站是否存在sql注入的方法:

1.比较流行也是大部分人都知道的一个方法,在参数后边加 and 1=1页面正常,然后在参数后边加入 and 1=2 页面错误,这种一般存在sql注入。

SQL注入基础 sql注入详细解释 小白学习笔记

SQL注入基础 sql注入详细解释 小白学习笔记

2.在参数后边加一个任意符号 如 ',如果加入符号之后与加入符号之前没有任何区别,那网站不会存在注入点。如果加入符号后网站返回的界面与之前不一样那网站通常存在注入点。

第二条其实也很好理解,因为加入符号之后sql语句发生了变化所以网站返回的内容与之前不一样所以存在注入点。

以上两种情况适用于大部分判断,如果怎么测试都返回404(不存在)或者相同的一个界面,那就存在过滤,一般没有注入点。


发现存在sql注入的几种办法:

1、手工

一个网站一般有多个分目录站点,如www.xxx.com为主页,www.xxx.com/bbs 为其网站下的一个论坛,一般情况下主目录站点很难发现注入,可以借助分目录下发现。

分端口站点:如111.112.113.1     111.112.113.1:80

2、工具

常用的工具扫描为awvs,appscan,w3af等等

前期学习为了更好的理解sql注入可以选择手工方式,后期为了方便可以利用工具。


如何预防sql注入

1.凡是有固定格式的变量,在sql语句执行之前,应该严格按照固定的格式去检查,确保变量是我们预想的那样。

2.过滤掉没意义的特殊符号,无法固定格式的变量,一定要进行特殊符号过滤或者转义。过滤是如今很多预防sql注入的重要方法之一。

3.waf可以也可以预防部分sql注入,但是有绕过的可能性。

4.使用数据库防火墙、数据库加密等方式。

以上为本次学习sql注入的基础,是一枚小白,随着一次次深入会慢慢增强自己,也欢迎各位有什么补充的或者修改的勇于讨论,一起学习,一起进步。

点赞
收藏
评论区
推荐文章
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Irene181 Irene181
3年前
手把手教你用Python轻松玩转SQL注入
前言大家好,我是黄伟。相信大家经常有听到过SQL注入啥的,但是并不是特别了解;小编以前就是经常听别人说,但是自己啥都不懂,直到后来看了相关教材后才明白,原来是这么个东西,那么到底是什么东西了,又或者是不是个东西了?我们接着往下看。一、浅谈SQL注入SQL注入其实就是把SQL命令插入到WEB表单中提交或者输入一些页面请求的查询字符串,比如我们输网址,就是相
Easter79 Easter79
3年前
sql注入
反引号是个比较特别的字符,下面记录下怎么利用0x00SQL注入反引号可利用在分隔符及注释作用,不过使用范围只于表名、数据库名、字段名、起别名这些场景,下面具体说下1)表名payload:select\from\users\whereuser\_id1limit0,1;!(https://o
Wesley13 Wesley13
3年前
SQL注入之PHP
SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如先前的很多影视网站泄
Aimerl0 Aimerl0
3年前
网络渗透测试实验三
写在前面实验终于开始有意思起来了,Attack!网络渗透测试实验三:XSS和SQL注入实验目的了解什么是XSS了解XSS攻击实施,理解防御XSS攻击的方法了解SQL注入的基本原理掌握PHP脚本访问MySQL数据库的基本方法掌握程序设计中避免出现SQL注入漏洞的基本方法掌握网站配置。系统环境KaliLinux2、Wi
Easter79 Easter79
3年前
SQL注入基础 sql注入详细解释 小白学习笔记
sql注入作为安全攻防中最重要的一个部分,可以说是所有渗透测试注入中最为重要的一个注入,不管是预防还是测试,都需要扎实的基础才能明白sql注入。温馨提示:此文章仅限于学习记录与讨论,不得随意测试或者注入,互联网不是法外之地,任何除学习之外的事情与作者无关。sql注入顾名思义就是执行sql命令原理:执行的用户能使用sql注入绕过认证机制
Stella981 Stella981
3年前
PHP开发web应用安全总结
一、SQL注入攻击(SQLInjection)攻击者把SQL命令插入到Web表单的输入域或页面请求的字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如:1.某个Web应用有一个登录页面,这
Stella981 Stella981
3年前
126disk网盘sql注入漏洞
sql注入点有很多,有用户登录注入,如万能密码admin'or11;还有Web程序中的一些交互注入,如查询之类。有关sql注入详细信息见易踪网(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.yeetrack.com)文章http://www.yeetrack.co
可莉 可莉
3年前
126disk网盘sql注入漏洞
sql注入点有很多,有用户登录注入,如万能密码admin'or11;还有Web程序中的一些交互注入,如查询之类。有关sql注入详细信息见易踪网(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.yeetrack.com)文章http://www.yeetrack.co
Wesley13 Wesley13
3年前
mysql学习总结(三)
1.SQL注入     1)什么是sql注入:         例如:用户在网页进行登录操作时,输入数据库语句,导致网页的登录限制失效,不需要输入用户名和密码,用户可以输入语句就登录网页     2)出现sql注入的原因:        因为太相信用户的输入,导致我们在接收用户