MS Access SQL Injection
рдСрдирд▓рд╛рдЗрди рдкреНрд▓реЗрдЧреНрд░рд╛рдЙрдВрдб
DB рд╕реАрдорд╛рдПрдБ
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдпреЛрдЬрди
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдпреЛрдЬрди & (%26)
рдФрд░ + (%2b)
рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡ рд╣реИред
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ
MS Access рдореЗрдВ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ NULL рдХреИрд░реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдХреНрд╡реЗрд░реА рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ:
рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ рдХреНрд╡реЗрд░реА рдХреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
Stacked Queries
рд╡реЗ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред
LIMIT
LIMIT
рдСрдкрд░реЗрдЯрд░ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, SELECT рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкрд╣рд▓реЗ N рддрд╛рд▓рд┐рдХрд╛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ TOP
рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред TOP
рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд▓реМрдЯрд╛рдИ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред
Just like TOP you can use LAST
which will get the rows from the end.
UNION Queries/Sub queries
In a SQLi you usually will want to somehow execute a new query to extract information from other tables. MS Access рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ subqueries рдпрд╛ extra queries рдореЗрдВ FROM
рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рддреЛ, рдпрджрд┐ рдЖрдк UNION SELECT
рдпрд╛ UNION ALL SELECT
рдпрд╛ рдПрдХ SELECT
рдХреЛ рдПрдХ рд╢рд░реНрдд рдореЗрдВ рдХреЛрд╖реНрдардХ рдХреЗ рдмреАрдЪ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рдорд╛рдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдирд╛рдо рдХреЗ рд╕рд╛рде FROM
рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдорд╛рдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдирд╛рдо рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
Chaining equals + Substring
рдпрд╣ рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдмрд┐рдирд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдирд╛рдо рдХреЛ рдЬрд╛рдиреЗред
MS Access рдЕрдЬреАрдм рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреИрд╕реЗ '1'=2='3'='asd'=false
ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдорддреМрд░ рдкрд░ SQL injection рдПрдХ WHERE
рдХреНрд▓реЙрдЬ рдХреЗ рдЕрдВрджрд░ рд╣реЛрдЧрд╛, рд╣рдо рдЗрд╕рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ MS Access рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ SQLi рд╣реИ рдФрд░ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ (рдпрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВ) рдХрд┐ рдПрдХ рдХреЙрд▓рдо рдХрд╛ рдирд╛рдо username рд╣реИ, рдФрд░ рдпрд╣реА рд╡рд╣ рдлрд╝реАрд▓реНрдб рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдк рдЪреЗрдирд┐рдВрдЧ рдЗрдХреНрд╡рд▓реНрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡реЗрдм рдРрдк рдХреА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ Mid
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП boolean injection рдХреЗ рд╕рд╛рде рд╕рд╛рдордЧреНрд░реА рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдЯреЗрдмрд▓ рдХрд╛ рдирд╛рдо рдФрд░ рдХреЙрд▓рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдбрдВрдк рдХрд░рдирд╛ рд╣реИ, рддреЛ рдЖрдк Mid
, LAST
рдФрд░ TOP
рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд▓реАрдХ рдХрд░ рд╕рдХреЗрдВ рдмреВрд▓рд┐рдпрди SQLi рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ:
Feel free to check this in the online playground.
Brute-forcing Tables names
рдЪреЗрдирд┐рдВрдЧ рдЗрдХреНрд╡рд▓реНрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЯреЗрдмрд▓ рдирд╛рдореЛрдВ рдХреЛ рдмреНрд░реВрдЯрдлреЛрд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рдПрдХ рдЕрдзрд┐рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
Feel free to check this in the online playground.
Sqlmap рд╕рд╛рдорд╛рдиреНрдп рддрд╛рд▓рд┐рдХрд╛ рдирд╛рдо: https://github.com/sqlmapproject/sqlmap/blob/master/data/txt/common-tables.txt
рдПрдХ рдФрд░ рд╕реВрдЪреА рд╣реИ http://nibblesec.org/files/MSAccessSQLi/MSAccessSQLi.html
рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕рд┐рдВрдЧ рдХреЙрд▓рдо рдирд╛рдо
рдЖрдк рд╡рд░реНрддрдорд╛рди рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЪреЗрдирд┐рдВрдЧ рдмрд░рд╛рдмрд░ рдЯреНрд░рд┐рдХ рдХреЗ рд╕рд╛рде:
рдпрд╛ group by рдХреЗ рд╕рд╛рде:
рдпрд╛ рдЖрдк рдЕрд▓рдЧ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рдмреНрд░реВрдЯ-рдлреЛрд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
Dumping data
рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЪреЗрдирд┐рдВрдЧ рдЗрдХреНрд╡рд▓реНрд╕ рддрдХрдиреАрдХ рд╕реЗ рд╡рд░реНрддрдорд╛рди рдФрд░ рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИред рд▓реЗрдХрд┐рди рдЕрдиреНрдп рддрд░реАрдХреЗ рднреА рд╣реИрдВ:
In a nutshell, рдХреНрд╡реЗрд░реА рдПрдХ "if-then" рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рддрд╛рдХрд┐ рд╕рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ "200 OK" рдпрд╛ рдЕрдиреНрдпрдерд╛ "500 Internal Error" рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред TOP 10 рдСрдкрд░реЗрдЯрд░ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реБрдП, рдкрд╣рд▓реЗ рджрд╕ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред LAST рдХрд╛ рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ 10рд╡реАрдВ рдЯреНрдпреВрдкрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдРрд╕реЗ рдорд╛рди рдкрд░, MID рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдПрдХ рд╕рд░рд▓ рд╡рд░реНрдг рддреБрд▓рдирд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред MID рдФрд░ TOP рдХреЗ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдмрджрд▓рдХрд░, рд╣рдо рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ "username" рдлрд╝реАрд▓реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдбрдВрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Time Based
Other Interesting functions
Mid('admin',1,1)
рд╕реНрдерд┐рддрд┐ 1 рд╕реЗ рд▓рдВрдмрд╛рдИ 1 рдХрд╛ рдЙрдкрд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ 1 рд╣реИ)LEN('1234')
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВASC('A')
рд╡рд░реНрдг рдХрд╛ ASCII рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВCHR(65)
ASCII рдорд╛рди рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВIIF(1=1,'a','b')
рдпрджрд┐ рддрдмCOUNT(*)
рдЖрдЗрдЯрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдЧрд┐рдиреЗрдВ
Enumerating tables
From here you can see a query to get tables names:
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ SQL рдЗрдВрдЬреЗрдХреНрд╢рди рдкрд╛рдирд╛ рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдЬрд╣рд╛рдБ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЯреЗрдмрд▓ MSysObjects
рдХреЛ рдкрдврд╝рдиреЗ рдХрд╛ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рд╣реИред
рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдПрдХреНрд╕реЗрд╕
рд╡реЗрдм рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХрд╛ рдкреВрд░рд╛ рдкрде
рд╡реЗрдм рд░реВрдЯ рдХрд╛ рдкреВрд░реНрдг рдкрде рдЬрд╛рдирдиреЗ рд╕реЗ рдЖрдЧреЗ рдХреЗ рд╣рдорд▓реЛрдВ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫрд┐рдкреА рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдПрдХ рдЧреИрд░-рдореМрдЬреВрдж рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдЪреБрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрде рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
http://localhost/script.asp?id=1'+'+UNION+SELECT+1+FROM+FakeDB.FakeTable%00
MS Access рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡реЗрдм рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХрд╛ рдкреВрд░рд╛ рдкрде рд╣реЛрддрд╛ рд╣реИред
рдлрд╝рд╛рдЗрд▓ рд╕реВрдЪреАрдХрд░рдг
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣рдорд▓рд╛рд╡рд░ рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреВрд░рд╕реНрде рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ, рддреЛ MS Access рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╛рд░реВрдк рдЕрдорд╛рдиреНрдп рд╣реИ:
http://localhost/script.asp?id=1'+UNION+SELECT+name+FROM+msysobjects+IN+'\boot.ini'%00
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕.рдЯреЗрдмрд▓ рдЖрдЗрдЯрдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ, рддреЛ MS Access рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╛рд░реВрдк рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
http://localhost/script.asp?id=1'+UNION+SELECT+1+FROM+C:\boot.ini.TableName%00
.mdb рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдЕрдиреБрдорд╛рди
рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо (.mdb) рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╡реЗрд░реА рдХреЗ рд╕рд╛рде рдЕрдиреБрдорд╛рдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
http://localhost/script.asp?id=1'+UNION+SELECT+1+FROM+name[i].realTable%00
рдЬрд╣рд╛рдБ name[i] рдПрдХ .mdb рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╣реИ рдФрд░ realTable рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рднреАрддрд░ рдПрдХ рдореМрдЬреВрджрд╛ рддрд╛рд▓рд┐рдХрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ MS Access рд╣рдореЗрд╢рд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдорд╛рдиреНрдп рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдФрд░ рдорд╛рдиреНрдп .mdb рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
.mdb рдкрд╛рд╕рд╡рд░реНрдб рдХреНрд░реИрдХрд░
Access PassView рдПрдХ рдореБрдлреНрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ Microsoft Access 95/97/2000/XP рдпрд╛ Jet Database Engine 3.0/4.0 рдХрд╛ рдореБрдЦреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд╛рд╕рд╡рд░реНрдб рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдВрджрд░реНрдн
Last updated