[强网杯2019]upload buuoj】的更多相关文章

提示:重点在这,可节省大部分时间 扫描后台 发现www.tar.gz备份文件. 这平台有429[太多请求限制]防护.dirsearch扫描一堆429.于是用了最笨的方法. 文件上传 先注册个账号 注册后登录,跳转到/upload 目录下 上传图片 但是无法利用,上传php文件 上传失败.尝试普通绕过.均失败. 源码审计 提前学下要涉及到的知识 1.两个魔术方法 __get() 比如一个类里面有私有变量.外界无法直接访问.那么用__get就可以间接访问. <?php class Person {…
目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challenges 参考链接:2019 第三届强网杯 Web 部分 WriteUp + 复现环境 一.知识点 1.源码泄露 www.tar.gz 2.php反序列化 看起来文件很大,但是用phpstorm打开的话会发现默认打开的文件里有两个断点,其实是给的hint,指出了反序列化利用的地方.之后常规的反序列化…
0x00 知识点 代码审计,PHP 反序列化. 0x01 解题 先注册一个账号,再登陆 上传 简单测试一下: 只能上传能被正常查看的 png. F12看到文件上传路径 扫扫敏感文件 存在:/www.tar.gz 分析: https://www.ctfwp.com/articals/2019qiangwang.html#upload 先上传一个png图片马: 上传后根据图片路径修改poc: <?php namespace app\web\controller; class Profile { pu…
1' and '0,1' and '1  : 单引号闭合 1' order by 3--+ : 猜字段 1' union select 1,database()# :开始注入,发现正则过滤 1' and extractvalue(0x0a,concat(0x0a,(database())))# :数据库 :supersqli 0';show databases;#   : 尝试一堆后发现堆叠注入 0';show tables;# 然后就迷了,怎么从表中得到字段呢?后来查资料才知道,show也是可…
<?phpnamespace app\web\controller; class Profile{    public $checker;    public $filename_tmp;    public $filename;    public $upload_menu;    public $ext;    public $img;    public $except; }class Register{    public $checker;    public $registed;}$…
参考链接:https://blog.csdn.net/qq_41173457/article/details/90724943 注意 只要namespace相同那就可以直接实例化同一namespace的类,至少在本题环境下是这样,所以可以在访问Index.php反序化影响到Regeister.php <?php namespace app\web\controller; use think\Controller; class Index extends Controller { public $…
本题主要考察堆叠注入,算是比较经典的一道题,在i春秋GYCTF中也出现了本题的升级版 猜测这里的MySQL语句结构应该是: select * from words where id='$inject'; 构造Payload:用单引号+分号闭合前面的语句,插入SQL语句,再用注释符注释掉后面的语句即可 先列出所有数据库: 1';show databases;# 得到: array(1) { [0]=> string(11) "ctftraining" } array(1) { [0…
简介  原题复现:  考察知识点:python代码编写能力...  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 简介 页面提示有源码可以下载,直接拼接URL www.tar.gz 下载后发现一堆php 初步考虑就是有考察根脚本编写有关 打开代码发现这些 有get.pos 还有var_dump() 每个页面都有很多看WP说这是shell 因为很多都不能用所以要编写一个能检测利用的py v1.0版本(速度太慢) i…
然后就是今天学的新东西了,堆叠注入. 1';show databases; # 1';show tables; # 发现两个表1919810931114514.words 依次查询两张表的字段 1'; show columns from 表名; # 不过有点问题,只有words有回显.(翻博客发现数字串为表名的表操作时要加反引号,加上之后发现的确有flag字段) 大佬wp展示了一手存储过程绕过 payload: http://web16.buuoj.cn/?inject=1%27;SeT@a=0…
题目描述 随便注 解题过程 查看源码,发现应该不适合sqlmap自动化注入,该题应该是让你手工注入: <!-- sqlmap是没有灵魂的 --> <form method="get"> 姿势: <input type="text" name="inject" value="1"> <input type="submit"> </form> 在表单中…
记一道堆叠注入的题.也是刷BUU的第一道题. ?inject=1' 报错 ?inject=1'--+ //正常 存在注入的.正常查询字段数,字段数为2.在联合查询的时候给了新提示 ?inject=0' union select 1,2%23 正则匹配过滤掉了经常使用的查询关键字,但是并没有禁用show,那么可以试下堆叠查询. ?inject=0'; show databases;%23 暴出了一些数据库.接着查表. ?inject=0'; show tables;%23 显示有两张表.试着查看字…
0x00前言 周末打了强网杯,队伍只做得出来6道签到题,web有三道我仔细研究了但是没有最终做出来,赛后有在群里看到其他师傅提供了writeup和环境复现的docker环境,于是跟着学习一波并记录下来 0x01 upload 第一步扫目录发现有备份文件 下载下来后大致浏览就清楚是thinkphp5框架,并且没有远程代码执行漏洞 根据题目的数据传输情况,可以发现在登录后有个user的cookie值,base64解码后是序列化字符串 查看源码,发现序列化字符串传入的位置是在Index.php的log…
前言 2019强网杯CTF智能合约题目--babybank wp及浅析 ps:本文最先写在我的新博客上,后面会以新博客为主,看心情会把文章同步过来 分析 反编译 使用OnlineSolidityDecompiler对合约进行逆向,获取合约源码伪代码 参考其他师傅的分析,贴出美化之后的合约源码 pragma solidity ^0.4.23; ​ contract babybank { // 0xe3d670d7 0 mapping(address => uint) public balance;…
这次强网杯第一天做的还凑合,但第二天有事就没时间做了(也是因为太菜做不动),这里就记录一下一道简单re-simplecheck(一血). 0x00 大致思路: 用jadx.gui打开zip可以看到,通过a.simplecheck即可. 分析一下a的代码不难看出,我们输入的字符串只是经过了一个简单的加法和乘法变化然后判断和a数组的值是否相等,以此写exp. 但是跑出来发现少了一点东西,比赛的时候着急也没管那么多直接补了个右括号提交,赛后又看了一下发现每次比较两个字符,也就是说到最后还有一个字符被我…
前言 本文对强网杯 中除了 2 个内核题以外的 6 个 pwn 题的利用方式进行记录.题目真心不错 程序和 exp: https://gitee.com/hac425/blog_data/blob/master/qwb2018/ 正文 silent 漏洞 在 free 的时候指针没有清空,而且程序没有 检测指针是否已经被释放 double free, 后面的 编辑功能也没有检验指针是否已经被 free ,所以 uaf signed __int64 free_() { int i; // [rsp…
强网杯2018 - nextrsa - Writeup 原文地址:M4x@10.0.0.55 所有代码均已上传至我的github 俄罗斯套娃一样的rsa题目,基本把我见过的rsa套路出了一遍,值得记录一下 level 0 QWB_nextrsa [master●] python exp.py [+] Opening connection to 39.107.33.90 on port 9999: Done [*] Switching to interactive mode ok! Firstly…
SUCTF 2019 Upload labs 2 踩坑记录 题目地址 : https://github.com/team-su/SUCTF-2019/tree/master/Web/Upload Labs 2 最近恶补了一下 SoapClient 反序列化和 MySQL 客户端任意文件读取的知识,这个题目很好的说明了这两个知识点 有一个问题,GitHub 上的代码有点错误,admin.php 中第 63 行 $arg2 = $_POST['arg3']; 要改成 $arg3 = $_POST['…
本文首发于“合天智汇”公众号 作者:Ch3ng 这里就借由强网杯的一道题目“Web辅助”,来讲讲从构造POP链,字符串逃逸到最后获取flag的过程 题目源码 index.php 获取我们传入的username和password,并将其序列化储存 ... if (isset($_GET['username']) && isset($_GET['password'])){ $username = $_GET['username']; $password = $_GET['password'];…
说明 打强网杯的时候一直在写论文, 做林逸师傅的培训题目. 现在得空,还是看了一部分的题目和wp. 源码 源码一共三部分, 这里只写下我知识盲区的一部分,作为自己的记录. <?php highlight_file(__FILE__): $flag=file_get_contents('ssrf.php'); class Pass { function read() { ob_start(); global $result; print $result; } } class User { publ…
[强网先锋]寻宝 啊对就是这道题,大佬们都贼快,菜如我还得慢慢整 key1 大佬们都一笔带过,哎,虽然简单,但是也别这么虐我们啊 我来简单写一下吧 <?php header('Content-type:text/html;charset=utf-8'); error_reporting(0); highlight_file(__file__); function filter($string){ $filter_word = array('php','flag','index','KeY1lhv…
0x01 前言 前两天菜鸡+x和几个大哥算是正式参加了一次ctf的线上赛,也是第一次参加这种比赛(前一段时间巨佬也给了我们一个西班牙的比赛,不过不算是正式参赛,做题的时候,比赛已经结束了),没想到出师不利,菜的一B,除了一个证明你签了到的签到题,一道题也没有弄出来,今天的我也是一个卑微的弟弟啊!比赛结束了,大佬们开始放writeup了,准备有些题目还是再看一看,复现一下. 0x02 鲲or鳗orGame 最先开始做的便是这道MISC的题目“鲲or鳗orGame” 进入网站后,发现鲲or鳗orGa…
简介 原题复现:https://gitee.com/xiaohua1998/qwb_2019_supersqli  考察知识点:SQL注入漏洞-堆叠注入  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 做题过程 打开页面测试注入点 //判断注入点 存在注入! ' and 1=1# ' and 1=2# //判断字段 字段为2! order by 2# 之后进行union联合注入的时候发现了正则过滤 几乎过滤了我们…
0x00 知识点 一个常规上传题目,知识点全都来自前几天写的文章: https://www.cnblogs.com/wangtanzhi/p/12243206.html 1:某些情况下绕过后缀名检测: php,php3,php4,php5,phtml.pht 2:常用一句话: GIF89a? <script language="php">eval($_REQUEST[shell])</script> php5适用 3:文件类型绕过 改成image/jpeg 0x…
一,鲲or鳗orGame 从浏览器里拿到game.gb 用 VisualBoyAdvance ,搜索内存变量,然后改变量就完事了,但是改变量他们说直接利用添加代码功能有bug,所以要在工具里的内存查看里面修改. 我犯了一个错误,我一直搜索best,导致一直搜出来的都是四个错误的地址,后来result和best交叉搜一下,就能确定一个正确的地址. 然后进工具里内存查看,搜索C0a2 把 02改成FF 出来再玩一次就得到Flag 二,强网先锋 打野 下载安装到本地后,打开压缩包后发现 继续打开 再继…
MD5部分 第一题 一看就有些眼熟 emmmm 查看一下源代码: 重点是这里 这里面要求POST上去的参数 param1 != param2 && md5('param1') == md5('param2') 这道题运用了php的一个哈希比较缺陷,就是php在处理0e开头md5哈希字符串时,会将他看成 0 (具体下面那篇文章)PHP在处理哈希字符串时,会利用"!="或"=="来对哈希值进行比较,它把每一个以"0E"开头的哈希值都解…
web web签到 利用了md5碰撞 payload为 param1 =%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2&& $param2 = %4d%c9…
Web签到 比赛链接:http://39.107.33.96:10000 比赛的时候大佬对这题如切菜一般,小白我只能空流泪,通过赛后看别人的wp,我知道了还有这种操作. 这个赛题分为3层 第一层 The Fisrt Easy Md5 Challenge 为MD5弱类型比较,这时候传入两个加密后开头为0e的不想等值就可以绕过了. if($_POST['param1']!=$_POST['param2'] && md5($_POST['param1'])==md5($_POST['param2…
这场CTF中有一道题是分析pcap包的.. 13.大黑阔: 从给的pcap包里把图片提取出来,是一张中国地图. 题目提示是黑阔在聊天,从数据里可以找出几段话. 思路:主要考察wireshark的过滤规则与熟悉度. 如果熟悉发送数据包的格式截取特定的字符串 "[{'" ,就能找出聊天记录了,也可以通过以下两个步骤找出关键的图片. 1.通过http过滤语句过滤出聊天内容 ((http) && !(frame.len == 78)) && !(frame.le…
单身狗: 下载图片 被一只狗挡住了的二维码,用图片处理软件把上面两个正方形随便一个覆盖狗的地方 我直接用美图秀秀处理一下,扫一下就得到flag…
参考: https://www.cnblogs.com/hac425/p/9416787.html http://tacxingxing.com/2018/03/28/2018qwb/ 事后复盘pwn,对于Gamebox一题发现网上wp都是大佬们利用堆玩出花,本菜鸡看到有printf格式化字符串漏洞,而且也没有防护,就想试试.但是难点在于printf(s)的s在堆上 由于printf(s)的s在堆上,利用起来没有栈上好用,需要在栈上找到这么一块内存.stack: param 15 -> para…