简单介绍:
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
请登录后查看评论内容