-
Side Notes
- The trend is your friend
- Spending months on the same program with the intention of diving as
deep as possible
- When there is a
filter there is usually a bypass
-
Before Hacking
- Testing publicly disclosed bugs give
an insight into the types of issues to look out for
- bypass old disclosed bugs
-
Search
- https://www.google.com/?q=domain.com+vulnerability
- https://www.hackerone.com/hacktivity
- https://www.openbugbounty.org/
- Build a treasure map of the target endpoints from notes
-
Recon
-
Subdomains
-
amass
- amass enum -brute -active -d domain.com -o amass-output.txt
-
httprobe
- cat amass-output.txt | httprobe -p http:81 -p http:3000 -p https:3000 -p http:3001 -p https:3001 -p http:8000 -p http:8080 -p https:8443 -c 50 | tee online-domains.txt
-
anew
- cat new-output.txt | anew old-output.txt | httprobe
-
dnsgen
- cat amass-output.txt | dnsgen - | httprobe
-
aquatone
- cat domains-endpoints.txt | aquatone
-
Content Discovery
-
wordlists
- https://github.com/danielmiessler/SecLists
-
ffuf
- ffuf -ac -v -u https://domain/FUZZ -w wordlist.txt
-
wayback machine & waybackurls
- /index
- /robots.txt
- .js files
-
LinkFinder
- scrape URLs from javascript files
-
Parameters
- parameth
-
AnyChanges
- looks for new links (via <a href>)
-
Test Features
-
Registration
-
Dorks
- site:example.com inurl:join inurl:&
- site:example.com inurl:signup inurl:&
- site:example.com inurl:register inurl:&
-
What's required to sign up and where is it reflected ?
-
Uploading a photo
- determine file type
- change extension
-
name & description
- allowed characters
- only XSS prevention?
- test he mobile app
-
Can I register with my social media account?
- via Oauth?
- allowed accounts ?
- trusted info?
-
What characters are allowed? Is <> “ ' allowed in my name?
-
XSS
- unicode, %00, %0d
- test he mobile app
- Can I sign up using @target.com or is it blacklisted?
-
What happens if I revisit the register page after signing up?
- redirect parameter?
- re-sign
up as an authenticated user
- Used parameters
-
Hunting in .js files
- https://www.youtube.com/watch?v=0jM8dDVifaI
-
Login
-
Is there a redirect parameter used?
- returnUrl, goto,
return_url, returnUri, cancelUrl, back, returnTo
-
What happens if I try login with myemail%00@email.com ?
- If yes, try signup with
my%00email@email.com and try for an account takeover
-
Can I login with my social media account?
- via Oauth?
- allowed accounts ?
- same for all countries?
- Mobile login
flow differ from desktop?
-
Reset Password
-
used parameters?
- IDOR
- Host header injection
- Rate Limiting
-
Updating account information
-
Is there any CSRF protection?
- try to send a blank CSRF token, or a token with the same
length
-
Any second confirmation for changing your email/password?
- If no, chain this with XSS for account takeover
- How do they handle basic < > “ ' characters and where are they reflected?
- If I can input my own URL on my profile, what filtering is in place to prevent
something such as javascript:alert(0)?
- Is it a different process on the mobile app?
- How do they handle photo/video uploads (if available)?
-
What information is actually available on my public profile that I can control?
- what I can control and how and where it’s reflected
-
The main feature
- Go for
the feature the business is built around and see how it works
-
Map features starting from the top
- notice all requests & same parameters used
-
See if there features are only available on mobile apps and NOT desktop
- test country tlds
-
What features are actually available to me
- Do multiple features all use the same data source?
-
Can I pay for any upgraded features?
- If yes, test with a paid vs free account
-
What are the oldest features?
- Dork -> Old code files =
bugs
-
What new features do they plan on releasing?
- Stay up to
date with what the company is working on
- https://www.jonbottarini.com/2019/06/17/using-burp-suite-match-and-replace-settings-to-escalate-your-user-privileges-and-find-hidden-features/
-
Do features offer a privacy setting / account level permissions?
-
Levels
- admin, moderator,
user, guest
- test the various levels of permissions
-
Setting
- private & public
-
Payment
-
What features are available if I upgrade my account?
- access without paying?
- upgrade from non-paying to paying unlocks more features
- Try to chain XSS
to leak payment information for higher impact
-
What payment options are available for different countries?
- switch location, may be sandbox details weren’t blocked
- bypass verification mechanisms
-
Test numbers
- http://support.worldpay.com/support/kb/bg/testandgolive/tgl5103.html
- https://www.paypalobjects.com/en_GB/vhelp/paypalmanager_help/credit_card_numbers.htm
-
Developer tools
- Do they host it themselves or is it hosted on AWS?
- What tools are available for developers?
- Can I actually see the response on any tools?
- Can I create my own application and do the permissions work correctly?
-
After creating an application, how does the login flow actually work?
- when I “disconnect” the application from my profile, Is the token invalidated?
- Check wiki/help/API docs
- Is the filtering the same
as updating my account information or is it using a different codebase?
- Can I create a separate account on the developer site or does it share the
same session from the main domain?
-
Expanding our attack surface
-
Dorking
-
Google
- use “-keyword” to remove certain endpoints
- 💡Note: check the results with a mobile user-agent
-
Functions
- login, register, upload, contact, feedback, join, signup, profile, user, comment, api,
developer, affiliate, careers, upload, mobile, upgrade, passwordreset
- https://exposingtheinvisible.org/guides/google-dorking/
-
ext
- php, aspx, jsp, txt, xml, bak
-
GitHub
- “domain.com” api_secret, api_key, apiKey, apiSecret, password,
admin_password
-
Notes
-
Certain Subdomains
- “dev”, “prod”,
“qa”
- Is it a third party
- Scan /robots.txt
- Use Burp Intruder “Grep - Match” feature
- Create a custom wordlist
-
Interesting endpoints
- /admin, /server-status
-
Writing down
- vulnerable parameters
- define the position on /endpoint
- The more you look, the more you learn
- test GET.POST
-
Repeat
-
Scanning for subdomains, files, directories & leaks
- https://github.com/nahamsec/lazyrecon
- CertSpotter
-
Changes on a website
- check for any new
functionality & features
-
Stay up to date with new programs &
program updates
- https://twitter.com/disclosedh1
-
Resources
-
Find other sites hosted
- https://www.yougetsignal.com/tools/web-sites-on-web-server/
-
Payloads & Bypass
- https://github.com/swisskyrepo/PayloadsAllTheThings
-
Subdomains
- https://certspotter.com/api/v0/certs?domain=domain.com
-
URL Encoding
- http://www.degraeve.com/reference/urlencoding.php
-
.APK scan
- https://apkscan.nviso.be/
-
Search keyword
- https://publicwww.com/
-
XSS bypass
- https://d3adend.org/xss/ghettoBypass
- https://github.com/masatokinugawa/filterbypass/wiki/Browser's-XSS-Filter-Bypass-C
-
Writeups
- https://medium.com/bugbountywriteup
- https://pentester.land/
-
Open Redirect
- https://github.com/cujanovic/Open-Redirect-Payloads/blob/master/Open-Redirect-payloads.txt
-
Sandbox
- https://www.jsfiddle.net/
- https://www.jsbin.com/