1.判断注入点:

本质原理是找一个需要后台处理后,提交给数据库的点,我理解为用户可以控制并输入后台数据库的变量,比如我们DVWA SQL injection 的ID  ,我们可以通过闭合单引号,#注释掉后面限制语句,16进制转换等方法进行绕过,将我们本应输入的变量变成一条查询语句获取数据库的信息。

一般分为三大类:

    Get参数触发SQL注入
    POST参数触发SQL注入
    Cookie触发SQL注入
    
判断是数字型还是字符型注入方法
    

数字型注入:
    1.修改参数为 id = 1’出错,无法正常从数据库查出数据
    2.修改参数为 id = 1 and 1=1  语句执行正常
    3.修改参数为 id = 1 and 1=2  出错,无法正常从数据库查出数据
    通过上面三次输入 可以判断出是否为数字型注入 (如果有回显页面在第一次输入id=1’报错,报错页面为 '1''之类的多个单引号包含1,可以猜测大概率是字符型注入)

字符型注入:
    1.修改参数为:id = 1’报错
    2.修改参数为:id = 1' and '1' = '1 正常
    3.修改参数为   id = 1' and '1' = '2 报错
这时可以判断为字符型注入,注意字符型注入后面有单引号 可以用#等符号注释掉

常用函数:
@@datadir 获取数据库的存储目录

@@version_compile_os 查看服务器的操作系统

user()查看当前连接数据库的用户

database() 获取当前所连接数据库名函数

version()查看数据库的版本

concat(str1,str2) 函数 合并两个字符串 实现无间隔连接str1和str2

concat_ws(separator,str1,str2) 函数 用分隔符separator连接两个字符串str1和str2,例如 分隔符为-  就实现了str1-str2

group_concat(str1,str2) 函数  将多行查询结果以逗号分隔全部输出

group_concat(concat_ws(seperator,str1,str2)) 函数
将多行查询结果以逗号分隔全部输出,每一行的结果可用设置的分隔符作字段的间隔

mysql中的information_schema 结构用来存储数据库系统信息:
1.schemata  存储数据库名
2.schema_name,表示数据库名称
3.tables 存储表名
4.table_schema 表示表所属的数据库名称;
5.table_name 表示表的名称
6.columns 存储字段名的
7.table_schema表示表所属的数据库名称;
8.table_name表示所属的表的名称
9.column_name表示字段名

得到当前库的所有表
select group_concat(table_name) from information_schema.tables where table_schema=database()

得到表中的字段名
select group_concat(column_name) from information_schema.columns where table_name=users

得到用户,密码
select group_concat(usernam,password) from users

                                        

                                                                                                           不定期更新

              最后更新于:2020.3.3 10:03 

最新文章

  1. Maven POM元素继承
  2. SQL Server中关于跟踪(Trace)那点事
  3. JCreator的配置
  4. solr课程学习系列-solr的概念与结构(1)
  5. YAML初探
  6. 烂泥:KVM快照的创建与恢复
  7. UI设计基础百科
  8. arcgis api for javascript 3.16开发(一)
  9. dynamic调用时报RuntimeBinderException:“object”未包含“xxx”的定义 错误
  10. 不用Google Adsense的84个赚钱方法
  11. hdu 4550 卡片游戏
  12. LINQ to Entities does not recognize the method 'System.DateTime ToDateTime(System.String)' method
  13. margin叠加相邻两个元素的上下margin是叠加在一起
  14. S3C2440的RTC解析
  15. JavaScript判断对象是否含有某个属性
  16. 16)django-ajax使用
  17. Spring-Boot 访问Controller时报错可能会是这个坑
  18. docker 安装 gitlab
  19. 【375】COMP 9021 相关笔记
  20. 安装PyInstaller打包python

热门文章

  1. Linux 命令行通配符及转义符的实现
  2. Acunetix引入了Docker支持,扫描统计信息以及将漏洞发送到AWS WAF的功能
  3. hugo + nginx 搭建博客记录
  4. 计算机网络体系结构整理-第二单元IP技术
  5. 探索互斥锁 Mutex 实现原理
  6. Local dimming algorithm in matlab plus 1
  7. python 动态指定header获取网页源代码的函数
  8. c语言字符串存储方式
  9. SOA-面向服务的架构
  10. lucene 类介绍