pwnable从入门到放弃又一发

说是一道pwnable,其实是一道coding...

nc pwnable.kr 9007

连接上看看,玩硬币?

老子是来拿flag的,谁来哄孩子来了!!!

算了,flag要紧。

就说一堆硬币,有一个假的,比真的轻,要找出来,哄孩子我不会,二分法我会啊!!

上脚本

# coding:utf-8
from pwn import *
import re def get_weight(start,end,r):
#global r
send_str = ""
if start == end:
r.sendline(str(start))
else:
for i in range(start,end + 1 ):
send_str = send_str + str(i)+" "
#print "[+]clent: ",send_str
r.sendline(send_str)
result = r.recvline()
#print '[+]server: ',result
return int(result) def choose_coin(num,chance,r):
# global r
start = 0
end = num -1
weight = 0
for i in range(0,chance ):
# print '[*] round', i+1 ," / ", chance
weight = get_weight(start,int(start+(end-start)/2),r)
#if start = end:
if weight%10 != 0:
end = int(start+(end-start)/2)
else:
start = int(start+(end-start)/2 )+1
#print '[+]client: ',end
r.sendline(str(end))
print '[+]server: ',r.recvline() #global r
r = remote('pwnable.kr',9007)
print r.recv()
#print '='*18 #print num,'[+]',chance
for i in range(0,100):
print '[*]','='*18," ",i," ","="*18 ,"[*]"
recvword = r.recvline()
print "[+]server: ",recvword
p = re.compile(r'\d+')
data = p.findall(recvword)
num = int(data[0])
chance = int(data[1])
choose_coin(num,chance,r)
print recvline()

跑了20步,告诉我超时,超时!超时!超时!

你还要我怎样??

还是用账号丢到服务器上跑吧,用以前的fd,guest账户,丢到/tmp目录下

走你!

【pwnable.kr】coin1的更多相关文章

  1. 【pwnable.kr】 asm

    一道写shellcode的题目, #include <stdio.h> #include <string.h> #include <stdlib.h> #inclu ...

  2. 【pwnable.kr】 [simple login]

    Download : http://pwnable.kr/bin/login Running at : nc pwnable.kr 9003 先看看ida里面的逻辑. 比较重要的信息时input变量再 ...

  3. 【pwnable.kr】 brainfuck

    pwnable.kr第二关第一题: ========================================= Download : http://pwnable.kr/bin/bfDownl ...

  4. 【pwnable.kr】 unlink

    pwnable.kr 第一阶段的最后一题! 这道题目就是堆溢出的经典利用题目,不过是把堆块的分配与释放操作用C++重新写了一遍,可参考<C和C++安全编码一书>//不是广告 #includ ...

  5. 【pwnable.kr】 memcpy

    pwnable的新一题,和堆分配相关. http://pwnable.kr/bin/memcpy.c ssh memcpy@pwnable.kr -p2222 (pw:guest) 我觉得主要考察的是 ...

  6. 【pwnable.kr】 codemap

    pwnable新的一题. download: http://pwnable.kr/bin/codemap.exe ssh codemap@pwnable.kr -p2222 (pw:guest) 这道 ...

  7. 【pwnable.kr】 uaf

    目测是比较接近pwnable的一道题.考察了uaf(use after free的内容),我觉得说白了就是指针没有初始化的问题. ssh uaf@pwnable.kr -p2222 (pw:guest ...

  8. 【pwnable.kr】input

    这道题是一道一遍一遍满足程序需求的题. 网上其他的题解都是用了C语言或者python语言的本地调用,我想联系一下pwntools的远程调用就写了下面的脚本, 执行效果可以通过1~4的检测,到最后soc ...

  9. 【pwnable.kr】cmd2

    这道题是上一个cmd1的升级版 ssh cmd2@pwnable.kr -p2222 (pw:mommy now I get what PATH environmentis for :)) 登录之后, ...

随机推荐

  1. 小程序的tabar顶部和底部导航的区别

    最近有人说小程序的底部tabar放在顶部会出现问题,那么先看看如何放在顶部吧:图片效果: 这里呢,在官方文档是有说明,tabbar 的属性设置里面有个position属性,position只支持bot ...

  2. 1-2SpringBoot项目属性配置

    前面我们讲解了SpringBoot HelloWorld实现 今天具体来讲解上那个application.properties项目配置文件 打开是空白 里面可以配置项目,所以配置项目我们 alt+/ ...

  3. saveToken介绍二

      Struts的Token(令牌)机制能够很好的解决表单重复提交的问题,基本原理是:服务器端在处理到达的请求之前,会将请求中包含的令牌值与保存在当前用户会话中的令牌值进行比较,看是否匹配.在处理完该 ...

  4. VScode禁用alt+key触发菜单栏快捷键

    因为用惯了Mac,突然改回Windows,但是已经习惯了按Command键.所以在Windows下把vscode的快捷键全改成alt+key了.但是Windows的alt+key快捷键就比较烦人了.所 ...

  5. 阿里云服务器 :Linux环境下搭建Apache+php+mysql

    以前我用的是Windows2012 的服务器,那时候只是抱着玩一玩的心态,所有用的是Windows,但是后来被导师给DISS了,于是决定改服务器的操作系统: (一)下载安装php+mysql+apac ...

  6. oracle的存储过程和函数有什么区别?

    Oracle中的函数与存储过程的区别:      A:函数必须有返回值,而过程没有. B:函数可以单独执行.而过程必须通过execute执行. C:函数可以嵌入到SQL语句中执行.而过程不行. 其实我 ...

  7. Day6 - F - KiKi's K-Number HDU - 2852

    For the k-th number, we all should be very familiar with it. Of course,to kiki it is also simple. No ...

  8. HihoCoder第六周:01背包问题

    01背包问题大二的时候就接触过了,几行关键代码自己也都看过很多遍了,但是很多代码一直都没能理解.所以今天拿表来好好地画一画,弄懂其中的动态规划究竟什么含义. 1038 : 01背包 时间限制:2000 ...

  9. cf 764A、762A、764B

    颓废题 764A #include<bits/stdc++.h> #define LL long long #define N 100005 #define lowbit(x) x& ...

  10. cf 763A. Timofey and a tree

    呵呵呵,直接判断是不是一个点连起来所有的特殊边(连接2不同颜色的点的边) (一开始还想各种各样奇怪的dfs...垃圾) #include<bits/stdc++.h> #define LL ...