#1 India's Top IT Training Institute

×

About Uncodemy

Know more about who we are and what we stand for.

About Us

About Us

Discover our mission to equip individuals with essential IT skills and industry expertise.

Read More →
UnCodeMy Gallery

UnCodeMy Gallery

Explore highlights from our IT training sessions and success stories.

Read More →
×

Free Resources

Learn, practice and plan your career — bilkul free.

Tutorials

Tutorials

Step-by-step written tutorials to learn any technology at your own pace.

Read More →
Free Counselling

Free Counselling

Book a free video counselling session and pick the right course for you.

Read More →
Online Compiler

Online Compiler

Write, run and test your code online — no setup required.

Read More →

Web Security · React vs Old Tools

React JS vs Old Tools What Changed for Ethical Hackers

React did not make the web more secure — it changed where the vulnerabilities live. A practical guide for ethical hackers on what no longer works, what replaces it, and how to test modern React apps without missing the real bugs.

Tracks
React Security · Live Interactive
Target
—
What you are testing
Entry Point
—
Where bugs live
Milestone
—
Proof of finding
Old Web → React SPA → APIs → Bundles → Report
Click a tab to see how the target, the attack surface and the reporting change when you move from old web apps to React apps.

Home / Tutorials / Web Security / React JS vs Old Tools — What Changed for Ethical Hackers

Web Security · React vs Old Tools

React JS vs Old Tools — What Changed for Ethical Hackers

OLD WEB REACT SPA NEW TARGET HACKER TOOLS Old Web Server-rendered Forms + GET/POST Every route is a page Crawl & fuzz React SPA Client-side routing API-first, JSON One page, many views Proxy & replay New Target JS bundles REST & GraphQL JWT, localStorage Analyse Hacker Tools DevTools + Burp JS beautifier JWT & Postman Report
The old web was pages and forms. A React app is a single page plus a lot of JavaScript plus a lot of API calls. The attack surface moved — not disappeared.

Quick summary — what changed, what did not

React did not make the web more secure — it changed where the bugs live. Old tools still work, but the target has moved from server-rendered pages to JavaScript bundles and API endpoints. Ethical hackers who do not adapt their toolkit will miss entire classes of vulnerabilities in React apps.

In this guide you will learn:

  1. The old web — how ethical hackers tested pages and forms.
  2. What React changed — SPAs, client-side routing and API-first apps.
  3. The new attack surface — bundles, source maps, tokens and hidden endpoints.
  4. Which old tools still work and which new ones you need.
  5. A practical checklist for testing a React app end to end.

SECTION 01The old web — how ethical hackers tested it

Before SPAs, almost everything was a page. Ethical hacking was built around that model, and the toolkit reflects it:

Old tool What it did Why it worked
Burp Suite / OWASP ZAP Intercept requests, replay, fuzz Every action was a full page request
Dirb / Gobuster Brute-force URLs Every route was a server file or endpoint
curl / wget Send GET/POST, inspect response HTML responses were easy to read
Form fuzzing Inject payloads into forms Every form posted to a predictable endpoint
View-source Read HTML for comments, endpoints Server rendered everything in HTML
Old web recon looked like this:

1. Crawl the site with a proxy
   → every link is a real HTTP request
   → every form posts to /login, /register, /search

2. View-source on every page
   → find hidden fields, comments, endpoints

3. Directory brute-force
   → gobuster / dirb for /admin, /backup, /api

4. Fuzz every input
   → SQLi, XSS, command injection payloads
   → response reflects the input if vulnerable

5. Check cookies, headers, redirects
   → session handling, open redirects, missing flags

This worked because the server rendered everything.
Every route was a real server endpoint.
old-web-recon.md
Key insight: Old tools did not break — they just started pointing at a different target. Burp, curl and Postman are still the core of any ethical hacker's toolkit in 2026.

SECTION 02What React changed for security testing

React apps are single-page applications. That one architectural change reshapes where vulnerabilities live:

Aspect Old Web React App
Routing Every URL is a server request Client-side routes, often no server call
Authentication Server-side sessions, cookies JWTs in localStorage or memory, refresh tokens
Business logic Mostly on the server Duplicated on the client — but must still be enforced on the server
Attack surface Pages, forms, query strings JS bundles, API endpoints, tokens, source maps
Bug bounty entry point URL fuzzing, form fuzzing Network tab, DevTools, JS review
Broken access control Hidden admin pages Hidden API endpoints, missing server-side checks
What changed when apps moved to React:

☐ The page is a shell — the data lives behind APIs
☐ "View-source" shows an empty div and one script tag
☐ Routes like /admin are UI-only — the server may not know them
☐ Authorization must be checked on the API, not the route
☐ Tokens (JWT) often live in localStorage
☐ Source maps may expose the original code
☐ Hidden features exist in the JS bundle, not in HTML
☐ GraphQL endpoints replace REST in many apps
☐ CSRF is less common but still possible with cookie auth
☐ XSS moves to dangerous render paths, not reflected forms

The bug bounty entry point moved from "URL and forms"
to "network tab and JS bundle".
react-vs-old.md
Key insight: React moved the attack surface from "pages" to "APIs and JavaScript". The vulnerabilities are still the same categories — you just reach them from a different place.

SECTION 03The new attack surface — bundles, APIs, tokens

When you test a React app, these are the four places where real findings live. Learn to read them before you start fuzzing:

Surface What to look for How to inspect
JS bundles Hidden routes, API prefixes, feature flags DevTools Sources + beautifier
Source maps Original source code (a real leak) Fetch main.js.map directly
Network requests Every API endpoint the app calls DevTools Network + Burp proxy
Auth tokens JWT structure, expiry, storage location DevTools Application tab + jwt.io
GraphQL Introspection, missing field-level auth Postman / GraphiQL
Error messages Stack traces, internal paths, versions Trigger errors on purpose
# Step 1 — open DevTools → Network
# Reload the app, filter by "JS"
# You will see something like:
#   /static/js/main.4f2a1c.js
#   /static/js/2.a91b12.chunk.js
#   /static/js/runtime-main.js

# Step 2 — download the main bundle
curl -O https://target.com/static/js/main.4f2a1c.js

# Step 3 — beautify it
# Use jsbeautifier.org or prettier in VS Code

# Step 4 — search for useful strings
grep -oE '"/api/[^"]+"' main.js | sort -u
grep -oE 'https?://[^"]+' main.js | sort -u
grep -iE 'admin|internal|debug|feature' main.js

# Step 5 — look for feature flags or hidden routes
# Many React apps ship admin code that is hidden
# only by a client-side condition
react-attack-surface.md
Key insight: A React bundle is a map of the app. Every hidden route, every API path and every feature flag is in there. Reading the bundle is now as important as crawling a site used to be.

SECTION 04Old tools that still work, and new tools you need

Ethical hackers did not throw away their toolkit — they extended it. Here is the honest comparison:

Old tool Still useful? New tool / addition
Burp Suite Yes — core tool Add the browser extension + proxy all XHR
curl / Postman Yes — fastest replay Import a HAR from DevTools to reproduce API calls
Dirb / Gobuster Partly Use it on API prefixes from the bundle, not HTML
SQLMap Yes Point it at API parameters, not form fields
View-source Mostly no DevTools Sources + JS beautifier instead
Form fuzzing Mostly no Fuzz the API request body / JSON fields
Nikto Partly Still useful for headers and server config
Nuclei Yes Use templates for exposed .map, common API leaks
An ethical hacker's React-era toolkit:

Browser side
☐ Chrome DevTools — Network, Sources, Application
☐ React DevTools — component tree, props, state
☐ FoxyProxy — toggle Burp proxy quickly
☐ Wappalyzer — confirm the stack

Proxy / interception
☐ Burp Suite Community or Pro
☐ OWASP ZAP (open source alternative)

JS analysis
☐ jsbeautifier.org or Prettier
☐ Source mapper (to read .map files)
☐ grep / ripgrep for endpoint strings

API testing
☐ Postman or Insomnia
☐ curl for quick replay
☐ GraphiQL for GraphQL introspection

Token analysis
☐ jwt.io — decode JWTs
☐ jwt_tool — test for alg:none, weak secrets

Automation
☐ Nuclei — exposed .map, common API leaks
☐ ffuf — API path fuzzing

You do not need all of these.
Pick one from each category and master it.
modern-toolkit.md
Key insight: You do not need twenty new tools. DevTools, Burp, Postman and a JWT decoder cover most of what you need. Add a JS beautifier and you are already ahead of most testers.

SECTION 05XSS in React — what's the same, what's new

React escapes values by default. That removes some XSS — but not all of it. Here is where XSS still works in React apps:

Scenario Safe? Why
{"{userInput}"} in JSX Safe React escapes by default
dangerouslySetInnerHTML Vulnerable Bypasses escaping — injection point
Markdown renderers Often vulnerable Render raw HTML from user content
href={`javascript:${x}`} Vulnerable JavaScript URLs execute on click
Third-party widgets Depends They may write to DOM directly
Refs + .innerHTML Vulnerable Direct DOM manipulation bypasses React
// 1. dangerouslySetInnerHTML — still dangerous
// If userInput comes from an API and is not sanitised,
// this is a direct XSS.

<div dangerouslySetInnerHTML={{ __html: userInput }} />

// 2. javascript: URLs — click-based XSS
// The browser executes javascript: URLs on click.

<a href={`javascript:${userInput}`}>Click me</a>

// 3. Markdown renderers that allow HTML
// react-markdown is safe by default — but if you add
// rehype-raw or allow HTML, it becomes vulnerable.

<ReactMarkdown rehypePlugins={[rehypeRaw]}>
  {userContent}
</ReactMarkdown>

// 4. Direct DOM writes bypass React entirely
ref.current.innerHTML = userInput;

// These are the places XSS still works in React.
// The default escaping does not help here.
react-xss.md
Key insight: Search the JS bundle for dangerouslySetInnerHTML, innerHTML and javascript:. Every hit is a place XSS might still work — even in a React app.

SECTION 06A practical checklist for testing React apps

Use this checklist on every React app you test. It is short, and it catches most of what old tools used to find — plus new classes of bugs.

Phase What to do What you are looking for
Recon Read the JS bundle, try .map files Hidden routes, source code leak
API mapping Capture every fetch/XHR in DevTools All endpoints, auth headers, payloads
Auth testing Decode JWTs, try alg:none, test expiry Weak tokens, privilege escalation
Access control Change IDs, change roles, call APIs as low-priv user IDOR, missing server-side checks
Injection Fuzz API parameters, headers, JSON bodies SQLi, NoSQLi, command injection
XSS Grep for dangerous render patterns Stored XSS through content fields
GraphQL Try introspection, test field-level auth Data leak, unauthorized queries
# List all JS files loaded by the app
curl -s https://target.com | grep -oE 'src="[^"]+\.js"' | sort -u

# Download the main bundle
curl -sO https://target.com/static/js/main.js

# Search for API endpoints
grep -oE '"/api/[^"]+"' main.js | sort -u

# Search for feature flags
grep -oE '"feature_[^"]+"' main.js | sort -u

# Try to fetch the source map
curl -I https://target.com/static/js/main.js.map

# Try common API prefixes
for p in api v1 api/v1 internal admin; do
  curl -o /dev/null -s -w "%{http_code} $p\n" \
    https://target.com/$p/
done
react-checklist.md
Key insight: The checklist is small on purpose. Six categories cover most of what you will find. Do them systematically before you start exploring, and you will not miss the obvious bugs.

SECTION 07Test yourself — React vs old tools quiz

Five questions. No sign-up.

0 / 5

Pick an answer to see why it is right or wrong.

SECTION 08Frequently asked questions

Does React make a web app more secure?

Not on its own. React escapes values by default, which removes some reflected XSS, but it does not prevent SQL injection, IDOR, broken access control or XSS through dangerouslySetInnerHTML. The OWASP Top 10 categories remain exactly the same.

Do old tools like Burp Suite still work on React apps?

Yes. Burp, curl and Postman are still the core of any ethical hacker's toolkit. Every fetch() call in a React app is still an HTTP request, so intercepting and replaying works exactly as before — you just point it at API endpoints instead of HTML forms.

What is the biggest change for ethical hackers testing React apps?

The target moved. Instead of crawling pages and fuzzing forms, you now read the JavaScript bundle, capture API calls in DevTools, and replay requests in Postman or Burp. The attack surface is the API and the JS bundle, not the HTML page.

Are source maps a real vulnerability?

Often yes. If a .map file is publicly accessible, the original unminified source code of the app is exposed. This reveals internal API paths, variable names and sometimes sensitive logic. Most bug bounty programs accept exposed source maps as a low or medium severity finding.

Where does XSS still work in React apps?

XSS still works wherever the developer bypasses React's escaping — most commonly through dangerouslySetInnerHTML, markdown renderers with raw HTML enabled, javascript: URLs in href, and direct DOM writes through innerHTML. Search the JS bundle for these patterns.

How do I find hidden API endpoints in a React app?

Three ways: capture every fetch/XHR in DevTools Network, search the JS bundle for strings like "/api/", and try common API prefixes such as /api/v1 and /internal. The bundle often contains endpoints that the UI never exposes to normal users.

Is GraphQL harder to test than REST?

Different rather than harder. If introspection is enabled, you can dump the entire schema and then test each query and mutation for missing field-level authorization. Start with introspection and look for queries that return data the current user should not see.

What should I learn first as a beginner in web security?

Start with the OWASP Top 10, then learn Burp Suite and DevTools. After that, learn to read a JS bundle and capture API traffic. Those three skills — OWASP, Burp, bundle reading — cover most of what you need to start finding real bugs in React apps.

Classroom & online · Delhi NCR

Learn to test modern web apps the right way

Our Ethical Hacking Training Course is built around the real target surface of 2026 — Burp Suite, API testing, JS bundle analysis, JWT testing, and modern React app testing with DevTools and Postman.

₹15,500 onwards ₹24,000
  • Burp Suite & DevTools
  • API testing with Postman
  • JS bundle & source map analysis
  • Weekday & weekend batches