网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
安恒
sqlmap爆出当前数据库库名的参数是什么 nmap探测系统的参数是 nmap的小写o和a是做啥的 布尔盲注的具体语句是啥 宽字节原理 Python是否存在反序列化 get传参数与post传参数的区别 HTTP有哪些请求方式 如何判断CDN和CDN的作用 如何确定服务器的真实IP 详细说明信息收集的流程 一串编码如何确定为base64 栅栏密码的原理 base64和md5的区别 oracle的默认端口为 mysql的管理员密码一般放在哪里 如果substr()的函数被禁用,有哪些替换函数 redis的常见漏洞,具体操作 如何通过邮箱指的对方IP 说一下同源策略 如何收集管理员邮箱 SSRF漏洞存在哪些危害 如何防御SSRF(问的比较深入) MSF框架的使用与原理 web容器(中间件)有哪些漏洞(解析漏洞比较多) 如何防范SQL注入
1. sqlmap爆出当前数据库库名的参数是什么?
- 参数:
--current-db
。- 补充:该参数用于直接获取当前连接的数据库名称。例如:
bashsqlmap -u "http://example.com/?id=1" --current-db
2. nmap探测系统类型的参数是?
- 参数:
-O
(大写O)。- 补充:
-O
用于操作系统指纹识别,需管理员权限(sudo
)。
3. nmap的小写
-o
和-A
是做啥的?
-o
:指定输出格式,例如:
-oN
(普通文本)、-oX
(XML)、-oG
(Grep格式)。-A
:启用全面扫描模式,包括操作系统检测(-O
)、版本探测(-sV
)、脚本扫描(--script
)等。
4. 布尔盲注的具体语句是啥?
- 典型语句:
sqlAND (SELECT SUBSTRING((SELECT TOP 1 table_name FROM information_schema.tables), 1, 1)) = 'A'
- 原理:通过页面返回的真假状态(如内容是否存在、响应时间差异)逐字符推断数据。
5. 宽字节原理
- 场景:PHP中
magic_quotes_gpc
开启时,单引号会被转义为\'
。- 绕过方式:利用GBK等宽字符编码,例如
%df'
会被解析为%df%5c'
(運'
),吞掉转义符\
。
6. Python是否存在反序列化漏洞?
- 存在:主要因
pickle
模块反序列化未受控数据导致代码执行。- 示例:
pythonimport pickle pickle.loads(b"cos\nsystem\n(S'whoami'\ntR.") # 执行系统命令
7. GET与POST传参的区别
特性 GET POST 数据位置 URL参数(明文) 请求体(可加密) 长度限制 受URL长度限制(约2KB) 无限制 安全性 低(缓存、日志可见) 较高(不可见) 幂等性 是(仅查询) 否(可能修改数据)
8. HTTP请求方式
- 常用方法:
GET
:获取资源。POST
:提交数据。PUT
:上传资源。DELETE
:删除资源。HEAD
:获取响应头。OPTIONS
:查询服务器支持的方法。PATCH
:局部更新资源。
9. 如何判断CDN及CDN的作用
- 判断CDN:
- 多地Ping检测IP是否一致(工具:
ping
、dig
)。- 检查DNS解析记录(工具:
nslookup
、whois
)。- CDN作用:
- 加速内容分发(缓存静态资源)。
- 隐藏真实服务器IP,提升抗DDoS能力。
10. 确定服务器真实IP
- 方法:
- 查询历史DNS记录(工具:SecurityTrails)。
- 通过子域名(如
mail.example.com
可能直连)。- 利用SSL证书信息(工具:Censys)。
- 邮件头分析(如注册/找回密码邮件)。
11. 信息收集流程
- 被动收集:
- Whois查询、DNS解析、子域名爆破(工具:Sublist3r)。
- 主动探测:
- 端口扫描(Nmap)、目录枚举(Dirbuster)。
- 漏洞关联:
- 框架版本识别(如Shodan搜索)、CVE匹配。
12. 判断编码是否为Base64
- 特征:
- 字符集为
A-Z, a-z, 0-9, +, /
。- 长度是4的倍数,末尾可能有
=
填充。- 示例:
dGhpcyBpcyBCYXNlNjQ=
13. 栅栏密码原理
- 加密:将明文按行排列,按列读取。例如:
明文:HELLOWORLD 分两栏:H L O O L E L W R D 密文:HLOOL ELWRD → HLOOLELWRD
14. Base64与MD5的区别
特性 Base64 MD5 类型 编码(可逆) 哈希(不可逆) 用途 数据传输编码 数据完整性校验 输出长度 可变(输入长度×4/3) 固定128位(32字符)
15. Oracle默认端口
- 默认端口:
1521
。- 补充:监听器端口(
LISTENER
)通常为1521
,EM Express为5500
。
16. MySQL管理员密码存放位置
- 文件路径:
mysql.user
表(密码哈希值)。- 本地访问:Linux下默认在
/var/lib/mysql/mysql/user.MYD
。
17. substr()被禁用的替代函数
- 替代函数:
MID()
:MID(str, start, length)
。LEFT()/RIGHT()
:LEFT(str, length)
。SUBSTRING_INDEX()
:按分隔符截取。
18. Redis常见漏洞与利用
- 漏洞:
- 未授权访问(默认端口
6379
未设密码)。- 写SSH公钥(
config set dir /root/.ssh
)。- 写Webshell(需知道Web路径)。
- 防御:设置密码、限制IP访问、禁用高危命令。
19. 通过邮箱获取对方IP
- 方法:
- 分析邮件头(
Received
字段)。- 诱导点击追踪链接(自建日志记录IP)。
- 发送带图片的邮件(查看服务器访问日志)。
20. 同源策略(SOP)
- 定义:限制脚本跨域访问资源(协议、域名、端口一致)。
- 例外:
<script>
、<img>
标签可跨域加载(但无法读取内容)。- CORS(跨域资源共享)通过HTTP头显式允许。
21. 收集管理员邮箱
- 方法:
- WHOIS查询域名注册信息。
- GitHub提交记录(
git log
)。- 官网
contact
页面或robots.txt
。- 社工库(历史泄露数据)。
22. SSRF漏洞的危害
- 危害:
- 内网探测(如访问
192.168.1.1:8080
)。- 攻击本地服务(如Redis未授权访问)。
- 绕过IP限制(如AWS元数据接口
169.254.169.254
)。- 深入利用:结合协议(
gopher://
)构造Payload攻击数据库。
23. 防御SSRF的深入方案
- 输入校验: - 禁止内网IP和域名(正则匹配
192.168|10\.
)。- 协议限制: - 仅允许HTTP/HTTPS,禁用
file://
、gopher://
。- 网络隔离: - 业务服务器与内网隔离,使用跳板机访问关键服务。
- 沙盒化: - 请求通过代理服务执行,剥离危险参数。
24. MSF框架的使用与原理
- 原理:模块化渗透测试框架(Ruby编写)。
- 核心模块:
Exploit
(攻击代码)、Payload
(植入指令)。Auxiliary
(辅助扫描)、Post
(后渗透模块)。- 使用流程:
bashmsfconsole use exploit/windows/smb/ms17_010_eternalblue set RHOST 192.168.1.100 exploit
25. Web容器(中间件)的常见漏洞
- 解析漏洞:
- IIS 6.0:
/test.asp;.jpg
被当作ASP解析。- Apache(旧版):
test.php.jpg
若配置AddHandler
错误。- Nginx:路径解析错误(如
/files/../
绕过)。- 其他漏洞:目录遍历(如Tomcat
PUT
方法上传)、缓冲区溢出(如旧版Apache模块)。
26. 防范SQL注入
- 分层防御:
- 输入过滤:白名单校验(如仅允许字母数字)。
- 参数化查询:使用PreparedStatement(Java)、
cursor.execute("SELECT * FROM users WHERE id = %s", (id,) )
(Python)。- 最小权限:数据库账户仅授予必要权限(禁用
DROP
)。- WAF:正则匹配过滤
UNION SELECT
、sleep()
等关键词。- 深度防御:定期渗透测试、日志审计(监控异常SQL语句)。