自定义BurpSuite漏洞扫描——BChecks

简单介绍:

 BCheck 是在较新的BurpSuite专业版版或企业版中新增的自定义漏洞检测功能,它可以帮助网络安全从业人员创建和导入的自定义扫描检查,使得渗透测试更加的精确高效。BCheck可以是一个具有独特文件扩展名.bcheck 的纯文本文件。

基本语法:

https://portswigger.net/burp/documentation/scanner/bchecks/bcheck-definition-reference

脚本源码

metadata:
    language: v2-beta
    name: "SQL注入漏洞"
    description: "网站很大可能存在sql注入漏洞,请进一步测试"
    author: "hugh"
    tags: "Sqli,active"

# 此处添加你的payload

run for each:
    payload =
        "'",
        "\""

# 为每个插入点进行检测,包括xml,json中参数
given any insertion point then

# 不检测静态文件
    if not ({latest.response.url.file} matches "(\.apk|\.bmp|\.cgi|\.css|\.csv|\.db|\.dmg|\.do|\.doc|\.ico|
\.ipa|\.env|\.eot|\.exe|\.gif|\.gz|\.jpg|\.jpeg|\.js|\.json|\.mp3|\.mp4|\.otf|\.pdf|\.png|\.ppt|\.rar|
\.sqlite|\.svg|\.tar|\.tsv|\.ttf|\.txt|\.wav|\.webm|\.webp|\.woff|\.xls|\.xml|\.zip)") then
        if not({latest.response.status_code} is "404") 

# 报错匹配
        and not ({latest.response} matches "(Fatal error|ORA-\d{5}|SQL syntax.*?MySQL|Unknown column|Syntax error|
附近有语法错误|java.sql.SQLException|System.Exception|com.mysql.jdbc|MySQLSyntaxErrorException|valid MySQL result|
your MySQL server version|MySqlClient|MySqlException|java.sql.SQLSyntaxErrorException|Error SQL:|引号不完整|
valid PostgreSQL result|PG::SyntaxError:|org.postgresql.jdbc|PSQLException|Microsoft SQL Native Client error|
ODBC SQL Server Driver|SQLServer JDBC Driver|com.jnetdirect.jsql|macromedia.jdbc.sqlserver|Oracle error|
com.microsoft.sqlserver.jdbc|Microsoft Access|Access Database Engine|ODBC Microsoft Access|DB2 SQL error|
SQLite error|Sybase message|SybSQLException)") then
            send payload:
                appending: {payload}

# 报错匹配
 
            if ({latest.response} matches "(Fatal error|ORA-\d{5}|SQL syntax.*?MySQL|Unknown column|Syntax error|
附近有语法错误|java.sql.SQLException|System.Exception|com.mysql.jdbc|MySQLSyntaxErrorException|valid MySQL result|
your MySQL server version|MySqlClient|MySqlException|java.sql.SQLSyntaxErrorException|Error SQL:|引号不完整|
valid PostgreSQL result|PG::SyntaxError:|org.postgresql.jdbc|PSQLException|Microsoft SQL Native Client error|
ODBC SQL Server Driver|SQLServer JDBC Driver|com.jnetdirect.jsql|macromedia.jdbc.sqlserver|Oracle error|
com.microsoft.sqlserver.jdbc|Microsoft Access|Access Database Engine|ODBC Microsoft Access|DB2 SQL error|
SQLite error|Sybase message|SybSQLException)") then


# 输出报告
            report issue:
                severity: high
                confidence: tentative
                detail: "sql注入漏洞,需要对用户的输入进行过滤或者转义以此来修复漏洞"
                remediation: "报错型sql注入"
            end if
        end if 
    end if

项目地址

https://github.com/PortSwigger/BChecks

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容