alexCTF sock题目

这篇博客记录了作者在参与alex CTF时解决一道题目的一部分过程。通过nc连接,作者收到了一个数学问题,需要计算两个大数相减的结果。在尝试用程序处理并返回答案时,遇到了字符串处理的问题。作者参考了他人的writeup和代码,以解决这个挑战。
摘要由CSDN通过智能技术生成

alex CTF 一道题目的半解过程

nc 连接返回结果

            __________
     ______/ ________ \______
   _/      ____________      \_
 _/____________    ____________\_
/  ___________ \  / ___________  \

/ /XXXXXXXXXXX\ \/ /XXXXXXXXXXX\ \
/ /############/ ############\ \
| \XXXXXXXXXXX/ _ _ \XXXXXXXXXXX/ |
|___ _ // \ /|__
[_ \ \ X X / / _]
| \ \ / / |
[_ \ \ \ _____ / / / __]
\ \ \ \/||.||.||.||.||\/ / / /
_ \ \ ||.||.||.||.|| / / _/
\ \ ||.||.||.||.|| / /
_ |||||||||| _/
\ …….. /
________________/

Our system system has detected human traffic from your IP!
Please prove you are a bot
Question 1 :
108105798751584311773236747225139 - 35165179661324135973895883980449 =

利用程序来返回结果

思路:将nc反弹结果写在记事本里,然后找到 =所在行,以及两个数字(题目中的一个数字在两行里),将计算结果发送给服务器端,然后再打印flag。
遇到一个很奇怪的事情:- -!
当对一个字符串进行查找判断后再进行分割就找不到字符了

import socket
import re



sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect(('195.154.53.62',1337))

filename='nc.txt'
y=''
res=''
test=''
while True:
    m=sock.recv(100)
    test=test+m
    print len(m)
    if len(m)<60:
        break




f=open(filename,'a')
f.write(test)
f.close()

f=open(filename,'r')
lines=f.readlines()

for line in lines:


    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值