chore: add 计算机安全
This commit is contained in:
FallenYing
2023-08-14 12:06:36 +08:00
parent 2d9163bc19
commit a60ceb5570
10 changed files with 207 additions and 195 deletions

View File

@@ -2,11 +2,11 @@
Author: `Liki4` from Vidar-Team
Vidar-Team 2023 招新 QQ 群: 861507440仅向校内开放
Vidar-Team 2023 招新 QQ 群861507440仅向校内开放
Vidar-Team 官网: [https://vidar.club/](https://vidar.club/)
Vidar-Team 官网[https://vidar.club/](https://vidar.club/)
Vidar-Team 招新报名表: [https://reg.vidar.club/](https://reg.vidar.club/)
Vidar-Team 招新报名表[https://reg.vidar.club/](https://reg.vidar.club/)
本文中所有涉及的代码全部都托管在 [https://github.com/Liki4/SQLi](https://github.com/Liki4/SQLi)
@@ -482,8 +482,6 @@ if __name__ == "__main__":
![](https://cdn.xyxsw.site/boxcnXyMaLh26lkNuAPiQVHuaNg.png)
####
#### 时间盲注
时间盲注的场景和原理与布尔盲注类似,都是在没有回显查询结果的时候使用的
@@ -782,9 +780,7 @@ INSERT 语句也被成功执行了,向数据库中插入了 Liki3 的数据
在 SQL 注入中,`infromation_schema` 库的作用无非就是可以获取到 `table_schema, table_name, column_name` 这些数据库内的信息。
####
##### MySQL 5.6 的新特性
#### MySQL 5.6 的新特性
在 MySQL 5.5.x 之后的版本MySQL 开始将 innoDB 引擎作为 MySQL 的默认引擎,因此从 MySQL 5.6.x 版本开始MySQL 在数据库中添加了两张表,`innodb_index_stats``innodb_table_stats`,两张表都会存储数据库和对应的数据表。
@@ -797,7 +793,7 @@ select table_name from mysql.innodb_table_stats where database_name=<em>database
![](https://cdn.xyxsw.site/boxcnbMtjAq8osStjcSbFuIdDSc.png)
##### MySQL 5.7 的新特性
#### MySQL 5.7 的新特性
由于 `performance_schema` 过于发杂,所以 MySQL 在 5.7 版本中新增了 `Sys schema` 视图,基础数据来自于 `performance_chema``information_schema` 两个库。
@@ -848,13 +844,13 @@ select table_name from sys.x$schema_table_statistics_with_buffer where table_sch
### Gorm SQL 注入
# 数据库注入工具 SQLMAP 及其高级使用指南
## 数据库注入工具 SQLMAP 及其高级使用指南
> 这里不讨论诸如 -u 这种简单参数
## 一些特殊参数
### 一些特殊参数
### -r [文件名]
#### -r [文件名]
当你从 Burp 之类的工具中发现了 数据库注入的痕迹
@@ -866,7 +862,7 @@ select table_name from sys.x$schema_table_statistics_with_buffer where table_sch
对你传入的报文的目标进行自动化的 sql 注入
### --sql-shell
#### --sql-shell
在摸索到 数据库注入的时候 生成一个交互式的数据库注入
@@ -878,7 +874,7 @@ Sqlmap 会自动探寻目标的注入返回结果 减少手动编写 payload 的
> 尤其是写了半天发现引号对不上等等
### --os-shell
#### --os-shell
一个新手以为很牛逼但是其实很鸡肋的功能 可以获取 shell 一般是通过数据库注入获取到写文件的权限,写入 webshell 文件 的原理拿到对方机器的 shell
@@ -886,13 +882,13 @@ Sqlmap 会自动探寻目标的注入返回结果 减少手动编写 payload 的
因为 默认数据库配置不具有这种问题需要另外配置 此外环境需要支持类似动态执行的功能 例如 go 起的 web
### --random-agent
#### --random-agent
一般不用 但是 sqlmap 在进行 web 的注入时会使用 sqlmap 的 User-Agent 痕迹非常明显
可以用这个消磨一下自己的痕迹
### --second-url
#### --second-url
对于一些非常复杂的数据库二次注入 sqlmap 其实是没有办法的 例如需要鉴权(?)
@@ -900,7 +896,7 @@ Sqlmap 会自动探寻目标的注入返回结果 减少手动编写 payload 的
但是对于简单的一些二次注入,可以通过这个参数获取到存在数据库注入界面的结果界面。让 sqlmap 获取到 数据库注入的结果。
### --technique
#### --technique
技巧 指定 sqlmap 使用的注入技术
@@ -925,13 +921,13 @@ Sqlmap 很可能在接下来的 数据库注入后利用中使用耗时更为巨
那么通过这个参数去指定对应的注入技巧 可以大大减少数据库注入获取结果的时间 优化你的进攻效率
### --dbms
#### --dbms
指定对应的数据库类型
Mysql mssql 之类的 sqlmap 就不会去搜索爆破其他类型的数据库
### --hex
#### --hex
以十六进制来进行注入的技巧