美文网首页
01.sql注入

01.sql注入

作者: 新一mghc | 来源:发表于2019-03-14 19:34 被阅读0次

1. 形成原因

SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的数据拼接到sql语句中后,被当作SQL语句的部分执行,从而导致数据库受损(被脱裤、被删除、甚至整个服务器权限沦陷)。

业务场景

凡是涉及与数据库交互的业务(参数)都可能存在SQL注入;
在 应用渗透中,重点关注查询、搜索等业务

SQL注入技巧(绕WAF)

●大小写混合
●替换关键字
●使用编码
●使用注释 "//","--","/**/","#"
●使用特殊符号

  • 使用反引号`,可以用来过空格和正则,还可以将其做注释符用
  • 神奇的"-+.", select+id-1+1.from users;"+"是用于字符串连接的,"-"和"."在此也用于连接,可以逃过空格和关键字过滤
  • @符号, select@^1 from users;@用于变量定义如@var_name,@表示用户定义,@@表示系统变量

常见注入点分类

  1. 按变量类型分
  • 数字型 user_id=$id
  • 字符型 user_id='$id'
  • 搜索型 text LIKE '%$_GET['search']%'”
  1. 按HTTP提交方式分
  • GET注入
  • POST注入
  • Cookie注入
  1. 按注入方式分
  • 报错注入
  • 盲注
    - 布尔盲注
    - 时间盲注
  • union注入
  • 编码问题
  • 宽字节注入

2.测试步骤

第一步:注入点探测
自动方式:使用web漏洞扫描工具,自动进行注入点发现
手动方式:手工构造 sql inject测试语句进行注入点发现
第二步:信息获取
通过注入点取期望得到的数据。
1环境信息:数据库类型数据库版本操作系统版本,用户信息等。
2.数据库信息:数据库名称数据库表,表字段字段内容(加密内容破解)
第三步:获取权限
获取操作系统权限:通过数据库执行shell,上传木马

基于报错的信息获取-三个常用的用来报错的函数

  • updatexml():函数是 MYSQL对XML文档数据进行查询和修改的 XPATH函数
  • extractvalue():函数也是 MYSQL对XML文档数据进行查询的 XPATH函数
  • floor(): MYSQL中用来取整的函数

sqlmap的使用

  • 获取数据库名 pikachu
    sqlmap -u "http://192.168.58.130/pikachu/vul/sqli/sqli_blind_b.php?name=111&submit=%E6%9F%A5%E8%AF%A2"
  • 获取表名 user
    sqlmap -u "http://192.168.58.130/pikachu/vul/sqli/sqli_blind_b.php?name=111&submit=%E6%9F%A5%E8%AF%A2" -D pikachu --tables
  • 获取列名 username,password
    sqlmap -u "http://192.168.58.130/pikachu/vul/sqli/sqli_blind_b.php?name=111&submit=%E6%9F%A5%E8%AF%A2" -D pikachu -T users --columns

相关文章

  • 01.sql注入

    1. 形成原因 SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传...

  • Day62 Spring 依赖注入源码解析

    手动注入自动注入 依赖注入,set注入,构造注入 依赖注入: Key依据 byType byName constr...

  • Groovy:元编程(方法注入)

    category分类注入 使用metaclass实现方法注入 静态方法注入 构造函数注入 混合注入

  • sql注入的一些笔记

    注入分类 数字型注入 -字符型注入 搜索型注入 XX型注入 注入提交方式 -get提交-post提交-cookie...

  • Spring三种bean注入方式

    Spring中依赖注入有三种注入方式:一、构造器注入;二、设值注入(setter方式注入);三、Feild方式注入...

  • Spring Bean 装配

    依赖注入的方式 依赖注入可以分为3种方式: 构造器注入。 setter注入。 接口注入。 其中构造器注入和 set...

  • Spring 学习心得(二)

    Spring IOC again 参数值注入 注入基本值 注入Bean对象 注入Spring表达式值 注入nul...

  • Spring之依赖注入

    六、依赖注入 目录:构造器注入、set注入、拓展注入实现、Bean的作用域依赖注入(Dependency Inje...

  • Spring的复杂类型注入

    注入方式 set方式注入,注入基本数值类型和引用类型 数组类型注入

  • spring

    18.7.22属性注入和构造器注入区别Spring也同时支持两种依赖注入方式:设值注入和构造注入。 这两种依赖注入...

网友评论

      本文标题:01.sql注入

      本文链接:https://www.haomeiwen.com/subject/huupuqtx.html