---
# System prepended metadata

title: Access control
tags: [Web]

---

# Robots.txt
# Request parameter
Server xác định quyền admin bằng cách tự set cookie cho user là admin = true or false.
# User role modified in profile user
Thêm trường "roleid":2 vào trong json và thông tin người dùng đã được cập nhật, giúp có quyền truy cập vào trang admin
# URL-based
https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/05-Authorization_Testing/02-Testing_for_Bypassing_Authorization_Schema
Headers:
* X-Original-URL
* X-Rewrite-URL
* X-Forwarded-For
* X-Forward-For
* X-Remote-IP
* X-Originating-IP
* X-Remote-Addr
* X-Client-IP

Values:
127.0.0.1 (or anything in the 127.0.0.0/8 or ::1/128 address spaces)
localhost
Any RFC1918 address:
* 10.0.0.0/8
* 172.16.0.0/12
* 192.168.0.0/16
Link local addresses: 169.254.0.0/16

Note: Including a port element along with the address or hostname may also help bypass edge protections such as web application firewalls, etc. For example: 127.0.0.4:80, 127.0.0.4:443, 127.0.0.4:43982
# Method-based
Dù phương thức POST đã bị chặn để xác thực nhưng phương thức GET thì không và vẫn có thể thay đổi roles người dùng thông qua truyền param ở phương thức GET
![image](https://hackmd.io/_uploads/ry5EC1qWC.png =x70)
# Insecure direct object references
Khi thử download file transcript thì tên file là 2.txt, nguồn gốc của lỗi đó là các file data chứa nội dung chat này có thể được truy cập bởi bất kì ai, miễn người đó **biết tên file**  
Nên với cái tên file vừa tải về là 2.txt thì dự đoán tồn tại file 1.txt hay 3.txt,……Sau khi tải file 1.txt về thì trong nội dung chat có đề cập mật khẩu của đối tượng.
# Multi-step process with no access control on one step
Sau khi admin upgrade cho tài khoản thì có thêm bước confirm, có nghĩa là gồm 2 bước để có thể thực hiện lệnh upgrade. Tuy nhiên bước kiểm soát truy cập chỉ được thực hiện ở bước 1, mà ta có thể bỏ qua bước 1, gửi request trực tiếp tới bước 2.
 
