Skip to content

z0x010/xlog

 
 

Repository files navigation

xlog

基于flex & bison的web日志扫描工具


与二进制扫描工具yara语法相似
一、语法规则
//例1: 检测url
//含义:请求url种含有$str,不含有$str1 且 请求为post 或者get方法,且返回请求为404的
//关键字url:用于修饰str变量为匹配请求的url
//关键字GET、POST:表示请求为GET\POST
//关键字status:表示http status
//关键字not:表示不满足

rule yara_attackAdmin {
  meta:
    description = "attack admin"
  strings:
    $str="admin.php" url
    $str1="feed" url

  condition:
    $str and (GET or POST) and status=404 and not $str1
}

//例2:检测agent
//含义:请求agent含有DNSPod-Monitor的
//关键字agent:用于修饰str变量为匹配请求的agent参数
rule yara_agent {
  meta:
    description = "Detect agent"
  strings:
    $str="DNSPod-Monitor" agent
  condition:
    $str and (GET or POST)
}


//例3:检测refer
//含义:请求refer为某个链接
//关键字refer:用于修饰str变量为匹配请求的refer参数
rule yara_refer {
  meta:
description = "Detect refer"
  strings:
$str="http://blog.xxxx.me/wp-admin/post.php?post=2445&action=edit&message=10" refer
  condition:
$str
}


//例4:正则检测url
//含义:请求url为满足正则表达式shell[1-9].php
//关键字双斜杠:双斜杠里面的内容为正则表达式
//关键字url:用于修饰str变量为匹配请求的url
rule yara_reg {
  meta:
    description = "Detect refer"
  strings:
    $str=/shell[1-9].php/ url
  condition:
    $str
}
二、使用
1、下载源码后,可直接make可生产scanner程序
2、执行:./scanner 规则文件路径 web访问日志
3、输出命中的结果:
    可根据命令行定制化输出
    -a 输出全部结果(默认)
    -ip 输出ip
    -refer 输出ip
    -request 输出url
    ....
    -st 参数time 输出访问时间大于time的结果
    -et 参数time 输出访问时间小雨time的结果

问题反馈邮箱:[email protected]

About

web日志扫描工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Roff 94.2%
  • C 4.2%
  • C++ 1.3%
  • Other 0.3%