<web渗透-mysql注入函数>

‘SQL注入是常见的WEB安全漏洞,
攻击者利用这个漏洞,
可以访问修改数据
或者利用潜在的数据库漏洞进行攻击’

(1) .漏洞原理

针对SQL注入的攻击行为可描述为通过用户可控参数中注入

SQL语法,破解原有SQL结构,达到编写程序意料之外的攻击行为
其成因可以归结:

【1】.程序编写者在处理程序和数据库交互时,使用字符串拼接的方式构造SQL语句

【2】.未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句

“注入点可能存在位置”
根据SQL注入漏洞的原理,在用户"可控参数"中注入SQL语法
web应用在获取用户数据地方,只要带入数据库查询,都存在SQL

 注入的可能,这些地方通常包括
  GET   数据
  POST  数据
  HTTP  头部(请求报文字段)
  Cookie 数据
  ....other

(2) .漏洞危害

【】获取数据库多种信息
【】获取数据库内容
【】可能获取webshell  'mof/udf 提权'
【】或者服务器系统权限

(3) .分类
-数据类型分类

 --数字型注入
    注入点的数据,拼接到SQL语句中是以数字型出现的
      数据两边没有引号

 --字符型注入
  .1 UNION query SQL injection           (可联合查询注入)
  .2 Rrror-nased SQL blind SQL injection (报错型注入)
  .3 Boolean-based blind SQL injection   (布尔型盲注)
  .4 Time-bassed blind SQL injection     (基于时间延迟注入)
  .5 Stacked queries SQl injection       (可多语句查询注入)

(4) .MySql相关

 .@注释
    #
    -- (杠杠空格)
    /*...*/
    /*...*/ 内联查询

 .@元数据库
    
    存储所有库名表名等
   'information_schema'
   
    存储所有表名
      ->tables
      
.@常用参数和函数

 "select" +
  
  【1】.系统

      version()      版本
      database()     数据库名
      user()         用户名
      current_user() 当前用户名
      system_user()  系统用户名
      @@datadir   数据库路径
      @@version_compile_os 操作系统版本   

  【2】.字符串处理

      length()     返回字符串长度
       length(database()) 数据库长度

      substring(参数1,2,3) 
      substr(参数1,2,3) 
      mid(参数1,2,3) 
          截取字符串参数        
         1.截取的字符串
         2.截取起始位置,从1开始取参
         3.截取的总长度

      left('字符串',number)  从左侧开始取指定个数的字符串
         left(xxx,1)=y
      concat()   没有分割符的连接字符串
        concat('a','b','c')
          ->abc

      concat_ws() 含有分隔符的连接字符串
        concat_ws('-','a','b','c')
          ->a-b-c

      group_contcat() 连接一个组的字符串
         select group_concat(id) from user;


      ord()      返回ASCII码值
        ord('a')
      
      ascii()
        适应于屏蔽引号的条件下    

      hex()     将字符串转换为十六进制
      unhes()   hex 的反向操作
      md5()     返回MD5
      floor(x)  返回不大于x 的最大整数
      round(x)   返回参数x 接近的整数
      rand()    返回0-1 之间的随机浮点数

 【3】.文件操作(需要权限)

      load_file('/路径')  读取文件,并返回文件内容作为一个字符串
      
      (select 'test'into outfile '路径') 上传文件

      sleep(n)   睡眠时间指定的秒数

      if(true,t,f) if 判断
          true->t 
            flase->f

      find_in_set() 返回字符串列表中的位置

      benchmark()   指定语句执行的次数
      
      name_const()


   【4】.正则表达式
      regexp

      类似like 



 .注入点判断
   会在疑似注入点的连接或参数后面尝试提交以下数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值