SQL注入在国内CTF比赛中的地位特别高,每次比赛的必出题。还不只一道题,一道题也不只有一个数据库,可能是与SSRF、XSS等漏洞配合出题等,这时候我们就要根据不同的环境随机应变。本篇文章我们主要讲解MySQL的注入。

何为sql注入?
首先简单介绍一下SQL注入的成因。开发人员在开发过程中,直接将URL中的参数、HTTP Body中的Post参数或其他外来的用户输入(如Cookies,UserAgent等)与SQL语句进行并接,造成待执行的SQL语句可控,从而使我们可以执行任意SQL语句。
了解SQL注入的成因之后,我们再来简要介绍下常见SQL注入的分类,具体如下。
1.不可回显的注入
Bool盲注
时间盲注
2.可回显的注入
联合查询的注入
报错的注入
通过注入对DNS请求,达到可回显的目的
3.二次注入
通常业务逻辑比较复杂的题目出现,都要由自己编写脚本实现自动化注入。
一般的CTF比赛中,出题方都会变相地添加一层WAF(比如对关键字进行过滤等),然后留下一个思路的解题路径,这时候需要我们快速找到并绕过这个点,然后得到flag。
满招损,谦受益。