Web安全学习笔记 SQL注入中

繁枝插云欣 ——ICML8


  1. 权限提升
  2. 数据库检测
  3. 绕过技巧

一.权限提升

1. UDF提权

UDF

User Defined Function,用户自定义函数

是MySQL提供的一个功能

可以通过编写DLL扩展为MySQL添加新函数

扩充其功能

当获得MySQL权限之后

即可通过这种方式上传自定义的扩展文件

从MySQL中执行系统命令


二.数据库检测

1. MySQL

sleep sleep(1)

benchmark BENCHMARK(5000000, MD5('test'))

字符串连接

SELECT 'a' 'b'

SELECT CONCAT('some','string')

version

SELECT @@version

SELECT version()

识别用函数

connection_id()

last_insert_id()

row_count()

2. Oracle

字符串连接

'a'||'oracle' --

SELECT CONCAT('some','string')

version

SELECT banner FROM v$version

SELECT banner FROM v$version WHERE rownum=1

3. SQLServer

WAITFOR WAITFOR DELAY '00:00:10';

SERVERNAME SELECT @@SERVERNAME

version SELECT @@version

字符串连接

SELECT 'some'+'string'

常量

@@pack_received

@@rowcount

4. PostgreSQL

sleep pg_sleep(1)


三. 绕过技巧

1.编码绕过

大小写

url编码

html编码

十六进制编码

unicode编码

2.注释

// -- -- + -- - # /**/ ;%00

内联注释用的更多

它有一个特性 /!**/

只有MySQL能识别

e.g. index.php?id=-1 /*!UNION*/ /*!SELECT*/ 1,2,3

3.只过滤了一次时

union => ununionion

4.相同功能替换

  1. 函数替换

substring / mid / sub

ascii / hex / bin

benchmark / sleep

  1. 变量替换

user() / @@user

  1. 符号和关键字

and/ &

or / |

5.HTTP参数

  1. HTTP参数污染

id=1&id=2&id=3

根据容器不同会有不同的结果

  1. HTTP分割注入

6.缓冲区溢出

一些C语言的WAF处理的字符串长度有限
超出某个长度后的payload可能不会被处理
二次注入有长度限制时
通过多句执行的方法
改掉数据库该字段的长度绕过

Web安全学习笔记 SQL注入中的更多相关文章

  1. Web安全学习笔记 SQL注入下

    Web安全学习笔记 SQL注入下 繁枝插云欣 --ICML8 SQL注入小技巧 CheatSheet 预编译 参考文章 一点心得 一.SQL注入小技巧 1. 宽字节注入 一般程序员用gbk编码做开发的 ...

  2. Web安全学习笔记 SQL注入上

    Web安全学习笔记 SQL注入上 繁枝插云欣 --ICML8 SQL注入分类 SQL注入检测 一.注入分类 1.简介 SQL注入是一种代码注入技术用于攻击数据驱动的应用程序在应用程序中,如果没有做恰当 ...

  3. Web安全学习笔记——SQL注入

    一.MySQL注入 1. 常用信息查询 常用信息: 当前数据库名称:database() 当前用户:user() current_user() system_user() 当前数据库版本号:@@ver ...

  4. Web安全测试学习笔记-SQL注入-利用concat和updatexml函数

    mysql数据库中有两个函数:concat和updatexml,在sql注入时经常组合使用,本文通过学习concat和updatexml函数的使用方法,结合实例来理解这种sql注入方式的原理. con ...

  5. Web安全攻防笔记-SQL注入

    information_schema(MySQL5.0版本之后,MySQL数据库默认存放一个information_schema数据库) information_schema的三个表: SCHEMAT ...

  6. CTFHub Web题学习笔记(SQL注入题解writeup)

    Web题下的SQL注入 1,整数型注入 使用burpsuite,?id=1%20and%201=1 id=1的数据依旧出现,证明存在整数型注入 常规做法,查看字段数,回显位置 ?id=1%20orde ...

  7. CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储

    CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...

  8. ASP.NET MVC Web API 学习笔记---第一个Web API程序

    http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...

  9. ASP.NET Core Web开发学习笔记-1介绍篇

    ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...

随机推荐

  1. IIS在ASP.NET Core下的两种部署模式

    KestrelServer最大的优势体现在它的跨平台的能力,如果ASP.NET CORE应用只需要部署在Windows环境下,IIS也是不错的选择.ASP.NET CORE应用针对IIS具有两种部署模 ...

  2. Python函数-导入模块的顺序及原理

    引入 当python导入模块,执行import语句时,到底进行了什么操作?按照python的文档,她执行了如下的操作: 第一步,创建一个新的module对象(它可能包含多个module) 第二步,把这 ...

  3. 【C++】智能指针详解

    转自:https://blog.csdn.net/flowing_wind/article/details/81301001 参考资料:<C++ Primer中文版 第五版>我们知道除了静 ...

  4. 安装TypeScript

    安装TypeScript 创建工程文件夹:mkdir <project folder> 进入工程文件夹:cd <project folder> 快速创建程序包:npm init ...

  5. HTML5标签速查

    HTML5标签速查,助你快速了解HTML 5. HTML 5新加入的标签以黑体标识,HTML 5不支持的以斜体标识. 标签 描述 <!--...--> 评论 <!DOCTYPE> ...

  6. 微信小程序 iphone6 和 iphone6plus 如何设置rpx单位,通俗易懂的方法

    pt:屏幕物理像素(屏幕实际宽度像素) px:屏幕分辨率 pt和px关系:iphone6plusppi密度高,1pt里有3px,iphone6 1pt里有2px. iphone6宽度 (物理像素) : ...

  7. js随手笔记-------理解JavaScript碰撞检测算法核心简单实现原理

    碰撞检测在前端游戏,设计拖拽的实用业务等领域的应用场景非常广泛,今天我们就在这里对于前端JavaScript如何实现碰撞检测算法进行一个原理上的探讨,让大家能够明白如何实现碰撞以及碰撞的理念是什么:1 ...

  8. 设置网站标题时找不到index.html问题解决

    都知道,修改网站标题在根目录index.html里修改.但是在vue3更新后,index.html就没有放这里了,放到了public中.去public中一眼就能看到.我也是去那里就找到了.

  9. flex布局 (转)

    网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...

  10. 不太一样的Go Web框架—编程范式

    项目地址:https://github.com/Codexiaoyi/linweb 这是一个系列文章: 不太一样的Go Web框架-总览 不太一样的Go Web框架-编程范式 前言 上文说过,linw ...