beebox靶场A1 low 命令注入通关教程(上)

2023-12-18 22:45

本文主要是介绍beebox靶场A1 low 命令注入通关教程(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一:html注入 get

HTML注入,就是当用户进行输入时,服务器没有对用户输入的数据进行过滤或转义,导致所有输入均被返回前端,网页解析器会将这些数据当作html代码进行解析,这就导致一些恶意代码会被正常执行。

首先进行简单测试,输入1 1 发现正常回显

查看源码进行分析,发现没有做任何处理与过滤

那接下来我们直接试一下xss,输入<script>alert(111)</script>

发现有弹窗,证明这个网页过滤不严,那接下来我们试一下超链接输入

<a href="http://www.baidu.com">111</a>

发现这里多了一个可点击的超链接,点上之后就会跳转到百度

二:html注入 post

测试过程中要注意GET请求与POST请求的不同,注意传入参数方式,其他部分与GET请求部分基本相同

查看源码

没什么过滤操作,那我们直接试一下xss和网页跳转

输入<a href="http://www.baidu.com">111</a>点击就跳转百度

三:html注入 url

正常在url输入内容,会发现它会编码,然后返回编码的值导致代码不执行,那这样我们开启burp抓包拦截,里面果然进行了编码,那这时我们在抓包里把编码的值改为原本输入的内容

最后放行即可执行xss代码

四:html注入 stored 存储型

一进页面就有一个输入框类似留言或评论的那种,那我们直接在框里进行测试输入xss代码发现直接执行,在刷新这个页面时,这个代码会再次被执行,证明这是存储型

五:iframe 注入

进页面后发现在url里有三个参数

为url WIDTH HEIGHT

其他没有可输入的地方,那我们在地址框里把url后面的内容改为http://www.baidu.com试一下,发现确实能连到百度,只不过百度拒绝了访问

所以这里有一个iframe漏洞,因为我们可以通过这个url访问其他的地方

六:OS command 注入

这关一进去是一个域名检测,检测域名,那接下来进行简单测试,在域名后面输入 管道符后再跟命令, 例如 www.nsa.gov | whoami

那就证明这个页面存在命令执行漏洞

七:OS command 盲注

这关为盲注,加命令执行,在页面的输入框内我们直接进行简单测试

输入 127.0.0.1 | sleep 5

如果这个命令是5秒后被执行,那就证明后面的命令被执行了。这就证明存在命令执行漏洞

八:PHP code 注入

进页面查看没有输入框,那就从url下手

查看源码

发现开发人员使用 PHP 函数并向其传递攻击者可以修改的不受信任的数据时,PHP 代码注入可能是可能的。使用 eval() 函数是一种危险的方式,因为用户可以在消息参数中提供任何恶意输入,并且它将作为代码执行,因为 eval 函数中没有输入验证。 现在,在这个挑战中,我们可以使用任何PHP命令,那接下来我们在url框里把text改为一个简单的php代码phpinfo()试一下。

发现代码被执行,因为这里系统使用的是PHP,所以我们将以某种方式注入一些php代码/命令。如果服务器不清理我们的输入,我们可以利用并执行异常活动

九:服务器端包含 (SSI) 注入

SSI是英文Server Side Includes的缩写,翻译成中文就是服务 器端包含的意思。从技术角度上说,SSI就是在HTML文件 中,可以通过注释行调用的命令或指针。SSI具有强大的功 能,只要使用一条简单的SSI 命令就可以实现整个网站的内容 更新,时间和日期的动态显示,以及执行shell和CGI脚本程序 等复杂的功能。SSI 可以称得上是那些资金短缺、时间紧张、 工作量大的网站开发人员的最佳帮手。 ps:(Server-side Includes) 服务器端包含提供了一种对现有 HTML文档增加动态内容的方法。apache和iis都可以通过配 置支持SSI,在网页内容被返回给用户之前,服务器会执行网 页内容中的SSI标签。在很多场景中,用户输入的内容可以显 示在页面中,比如一个存在反射XSS漏洞的页面,如果输入的 payload不是xss代码而是ssi的标签,服务器又开启了ssi支持 的话就会存在SSI漏洞

当我们在这个页面输入xss代码时就会被执行

十:sql 注入 search

进去之后是搜索框

查看源码

简单测试 1‘order by # 当测试到第8列时显示报错

接下来测试能够回显字段的列项,构造payload为1' and 1=2 union select 1,database(),3,4,5,6,7#

发现只有2,3,4,5能够回显且得到数据库的名字为bwapp

这篇关于beebox靶场A1 low 命令注入通关教程(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/510021

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php