python仿ob_start函数

起因

阅读更多

批量反编译PyCodeObject

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# mail: cn.b4dboy@gmail.com

import sys
import imp
import glob
import marshal
import uncompyle2

files = glob.glob(r'./code/*.txt')
for plug in files:
txt = ''
with open(plug, 'r') as f:
txt = f.read()

try:
arr = eval(txt)
#decode some file
if imp.get_magic() == arr[1][:4]:
code = marshal.dumps(arr[1])
bin = marshal.loads(code[13:])
with open(bin.co_filename, 'w') as f:
uncompyle2.uncompyle('2.7.3', bin, f);

except:
print 'str 2 code err in file: %s' % plug

阅读更多

python修改linux日志(logtamper.py)

    经常用到xi4oyu大神的logtamper,非常之方便。但是有些场景下可能没条件编译、于是参照logtamper源码以及Intersect的源码写了个py版,参数和原版差不多。

阅读更多

windows编译php扩展Taint

Taint是PHP开发组成员Laruence所写的一个漏洞检测插件。在windows上编译的时候可能会提示INIT_PZVAL_COPY未定义。

阅读更多

利用PDO::FETCH_FUNC特性留后门

翻手册的时候发现fetch_argument的参数PDO::FETCH_FUNC可以回调一个函数,用这东西留个后门应该可以迷惑部分管理员。
适用于:(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

阅读更多

内网通过shell访问常用小工具

    阅读更多

    nmap旁站查询脚本

    为了快速得到某个段的shell临时简易的写了一个nmap脚本,主要功能是从bing获取同服务器站点。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    local http = require "http"
    local nmap = require "nmap"
    local shortport = require "shortport"
    local stdnse = require "stdnse"
    local string = require "string"

    description = [[
    reverse domain for ip
    ]]


    author = "b4dboy"
    license = "Same as Nmap--See http://nmap.org/book/man-legal.html"
    categories = {"default", "discovery", "safe"}

    portrule = shortport.http

    local function trim(str)
    return (string.gsub(str, "^%s*(.-)%s*$", "%1"))
    end

    local function getBanner(host, port)
    local result = {}
    local socket, status
    local content = "GET / HTTP/1.0\r\n\r\n"
    socket = nmap.new_socket()
    socket:connect(host.ip, port)
    socket:send(content)
    local response, data = socket:receive()
    table.insert(result, string.format('%s', string.match(data, 'Server:')))
    data = string.gsub(data, "\r", "")
    data = string.match(data, 'Server:%s-([a-zA-Z-/0-9:\\.() ]+\n+)')
    if not(data) then
    data = 'Unknown'
    end
    return trim(data)
    end

    action = function(host, port)
    local uri, resp, redirect_url, title
    local result = {}

    -- Get Banner
    local server = getBanner(host, port)
    local banner = "Http Banner: "..server
    table.insert(result, banner)

    local request_options = {}
    request_options.header = {}
    request_options.header["If-None-Match"] = 'mark'

    uri = string.format('http://global.bing.com/search?q=ip:%s&count=50', host.ip)
    resp = http.get_url( uri, request_options )

    -- check for a redirect
    if resp.location then
    redirect_url = resp.location[#resp.location]
    if resp.status and tostring( resp.status ):match( "30%d" ) then
    return {redirect_url = redirect_url}, ("Did not follow redirect to %s"):format( redirect_url )
    end
    end

    if ( not(resp.body) ) then
    return
    end

    regx = '<li([^>]-)class="b_algo"([^>]-)><h2><a([^>]-)href=[\"|\']([^\"\']-)[\"|\']([^>]-)>'

    for s1, s2, s3, title in resp.body:gmatch(regx) do
    table.insert(result, title)
    end

    return stdnse.format_output(true, result)
    end

    阅读更多

    一句powershell调用mimikatz抓密码

    国外大神clymb3r写的一个powershell脚本将mimikatz注入到内存调用logonPasswords获取密码,使用起来相当轻便。

    阅读更多

    用DiskGenius读取虚拟机磁盘文件

        DiskGenius是一款国产磁盘利器,它有一个更突出的亮点,那就是支持虚拟硬盘。可以在不启动虚拟机的情况下管理虚拟机的磁盘文件,当虚拟机无法启动或忘记密码时都可以把磁盘文件拷出来了。

    阅读更多

    Put漏洞利用工具PHP在线版

        在webshell上探测到内网几个开了put的iis由于防火墙的原因没有交互式环境,情急之下随手用php写了个简易的利用工具(因为webshell是php的)。

    阅读更多