I took part in the "Getting Started in Bug Bounty" episode on Standoff 365, where we discussed S3 misconfigurations in web applications.
youtube.com/watch?v=SwEpvGKs… [RU]
github.com/BlackFan/s3-finge…
A reference table of popular cloud and self-hosted S3-compatible solutions that helps identify which storage system a website is interacting with.
github.com/BlackFan/s3-reque…
Burp Suite and Caido extension that simplifies working with signed requests. Supports Sigv2/v4 , including SigV2 generation through Hackvertor tags.
It can also generate signatures from SignatureDoesNotMatch errors when requests are modified by a proxy.
📄 Cache Poisoning via S3 API: when JavaScript caching becomes an attack vector
A common setup: a site stores static assets in S3, proxies requests to it, and caches "200 OK" responses. At first glance, everything looks correct — but one cache configuration detail turns this into a vulnerability.
Query parameters are not included in the cache key. As a result, "/app.js" and "/app.js?anything" are treated as the same resource by the cache.
However, S3 is not just a file store — it exposes a REST API with object-level operations that also return "200 OK" responses:
🟡 "?tagging" — returns XML with object tags instead of file content
🟡 "?acl" — returns XML with access permissions
An attacker requests
│ /app.js?tagging
The proxy forwards the request to S3 → S3 responds with XML and a "200 OK" → the proxy caches this response as the content for "/app.js" → all users subsequently receive XML instead of JavaScript. The application breaks for the duration of the cache lifetime.
Even if "?tagging" and "?acl" are disabled, another vector remains. The S3 "GetObject" API supports the parameter:
│ ?response-content-type=text/html
S3 returns the correct file but overrides the "Content-Type" header. The cache stores the response with "Content-Type: text/html". The browser receives the script as HTML and does not execute it. The result is the same — application functionality is disrupted.
📎 t.me/Black4Fan/20
#dbugs_attacks
Implemented support for annotation parsing in class constructor arguments in BFScan.
github.com/BlackFan/BFScan/r…
If previously a lot of HTTP requests with obfuscated parameter names were generated for your APK, now the result should improve significantly.
Wrote a Burp Suite Pro extension that uses AI-powered features to replace values in HTTP requests.
Useful for guessing data formats based on parameter or header names. For example, for requests from Swagger / OpenAPI or those generated by my tool BFScan.
github.com/BlackFan/Burp-Ai-…
Which libraries define http endpoints in a similar way to add support for them?
I have published a tool based on jadx that helps analyze Java applications.
github.com/BlackFan/BFScan
BFScan generates HTTP requests and OpenAPI specs based on config files and class/method annotations.
It also searches strings that look like URIs, paths, or secrets.
I have published a tool based on jadx that helps analyze Java applications.
github.com/BlackFan/BFScan
BFScan generates HTTP requests and OpenAPI specs based on config files and class/method annotations.
It also searches strings that look like URIs, paths, or secrets.
A note about a vulnerable nginx configuration related to proxying requests to S3 [RU]:
t.me/Black4Fan/15
Sergey Bobrov retweeted
In 2024, I interacted a lot with Extensions.
I decided to create a resource that will help with a basic understanding of extensions and key attacks.
P.S. I tried to make everything as clear as possible and hope it won’t feel too overwhelming anywhere.
extensions.neplox.security/
Sergey Bobrov retweeted
New blog post moopinger.github.io/blog/crl… Inspired by the great work of @Black2Fan
Sergey Bobrov retweeted
The results are in! We're proud to announce the Top 10 Web Hacking Techniques of 2023! portswigger.net/research/top…
Sergey Bobrov retweeted
CVE-2024-21633 - MobSF Remote code execution detailed writeup qu35t.pw/posts/2024-21633-mo… #MobileSecurity #infosec
Sergey Bobrov retweeted
A writeup analysis of a simple logical vulnerability at @googlechrome for which @GoogleVRP paid me $16,000.
Link: blog.slonser.info/posts/cve-…
P.S. I have very few subscribers, so I am grateful for every repost
#0day #Chrome #GoogleVRP #CVE
Sergey Bobrov retweeted
Here is the technical details of MS Teams RCE I used in Pwn2Own Vancouver 2022!
#shibuyaxss の資料公開しました!Pwn2Ownで賞金を獲得したTeamsの脆弱性について解説しています。
speakerdeck.com/masatokinuga… (English)
speakerdeck.com/masatokinuga… (日本語)
youtu.be/TMh_WbF9VnM (demo)
HTTP Request Splitting vulnerabilities exploitation
offzone.moscow/upload/iblock…
HTTP Request Splitting vulnerabilities exploitation
Video [RU]:
youtube.com/watch?v=p1ClNhao…
Sergey Bobrov retweeted
finally wrote a new blog post, hopefully there's some interesting info blog.ankursundara.com/cookie…











