每个恐惧背后都有个你想成为的人

NCTF2019 Fake XML cookbook

XXE(外部实体注入)

打开题目是个登录界面,登录抓包发现传递的参数长这样 <user><username>1</username><password>1</password></user> 怀疑存在XXE漏洞,那么问题来了,什么是XXE漏洞? XML External Entity Attacks xml有个叫做DTD(Documen...

CISCN d1w5 cyberpunk

伪协议&报错注入

打开题目查看源码发现?file的hint,我们便采用php伪协议进行读取源码;?file=php://filter/convert.base64-encode/resource=xxx.php 这里解释一下filter可以看作是一个封装器,源码被经过base64加密以后放到封装器里面进行输出,至于为什么需要base64加密,是因为防止php代码执行,从而不会显示出来。 confirm.p...

CISCN d2w1 easyweb

短标签

查看robots.txt发现有备份文件的提示,下载imgae.php.bak备份文件查看源码 <?php include "config.php"; $id=isset($_GET["id"])?$_GET["id"]:"1"; $path=isset($_GET["path"])?$_GET["path"]:""; $id=addslashes($id); $path=adds...

CISCN d1w2 ikun

jwt伪造&Python反序列化

打开题目是一个商城,注册登录后根据提示一定要买到lv6,商品太多了,就写个脚本找了下 import requests url="http://8f2a1294-6fe9-483c-8191-7811375ff509.node3.buuoj.cn/shop?page=" for i in range(0,2000): r=requests.get(url+str(i)) pr...

CISCN d1w1 Dropbox

RCEbypass

打开题目先注册个账号,发现题目提供类似网盘的功能,抓包时发现可以任意文件下载还可以删除 先把源码都扒下来看看 download.php <?php session_start(); if (!isset($_SESSION['login'])) { header("Location: login.php"); die(); } if (!isset($_POST...

GXYCTF Ping Ping Ping

RCEbypass

主要是一些总结 直接放源码吧 <?php if(isset($_GET['ip'])){ $ip = $_GET['ip']; if(preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{1f}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){ print_r($match)...

SSRF

SSRF-lab通关攻略(PHP篇)

0*00 SSRF 介绍 服务端请求伪造,用户通过 WEB 访问/上传/发出请求,绕过服务器防火墙,获取服务器及其内网信息。SSRF 可以说是一个媒介,结合服务器中的服务,常常可以形成一条完整的攻击链。 https://github.com/m6a-UdS/ssrf-lab PHP中能触发SSRF的函数 file_get_contents() — 将整个文件读入一个字符串 注意该函...

GXYCTF 禁止套娃

无参RCE

Git泄露,查看源码 <?php include "flag.php"; echo "flag在哪里呢?<br>"; if(isset($_GET['exp'])){ if (!preg_match('/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET['exp'])) { if(';' === ...

OtterCTF Closure

内存取证 十三

接上一题,获取密码之后尝试解密文件 首先通过filescan模块在桌面找到了flag.txt volatility -f OtterCTF.vmem --profile=Win7SP1x64 filescan |grep Desktop root@ecs-sn3-medium-2-linux-20191204085521:/otter# volatility -f OtterCTF.v...

OtterCTF Recovery

内存取证 十二

接上题,题目要求找出加密文件的密码,还是将exe文件拖入IDA,发现form1的sendpassword函数 public void SendPassword(string password) { string text = string.Concat(new string[] { this.computerName, "-", this.userName,...