DiceCTF
Last updated
Was this helpful?
Last updated
Was this helpful?
**Babier CSP
view page thì ta thấy như sau, ứng dụng sử dụng input từ name để render ra html, tiêu đề bài cũng hướng tới xss bypass csp.
đầu tiên mình thử payload xss đơn giản
có thể chèn html thành công nhưng ko trigger được xss? why?
nhìn vào header ta thấy
ta có CSP như sau, vậy csp là gì, các bạn tham khảo tại đây
mình giải thích sơ qua về ý nghĩ trong dòng CSP được set ở header như sau
default-src none : tức là nó sẽ không load bất kỳ resource nào by default
script-src 'nonce-LRGWAXOY98Es0zz0QOVmag==' : chỉ thị này có nghĩa là chỉ được load script js từ nguồn có none=LRGWAXOY98Es0zz0QOVmag==
vậy ta có thể trigger được alert bằng cách
ở trên mình đã trigger xss thành công, nhưng để fetch được tới nguồn khác thì không thể bởi chỉ thị default-src không cho phép mình làm như vậy, nên ở đây ta sử dụng document.location để chuyển hướng trang, vì ta đã có thể control được code js cần thực thi nên hướng này là khả thi
sử dụng payload như sau
send cho admin link này thì ta sẽ có cookie
ta có serect thì việc cuối cùng chỉ cần curl tới cái path secret này ta sẽ có flag
**Missing Flavortext
đề cung cấp source như sau, ta thấy có 1 table users, và nếu login thành công thì sẽ có flag
=> sqli for sure
để ý thấy
điều này tức là ta có thể truyền 1 obj vào
cộng với
tức trong body mình truyền vào không được chứa dấu ' nhưng mình thấy filter này mỏng quá nên mình sẽ tập trung bypass chỗ này
whatifs cả username và password đều là array
nếu ta truyền vào array thì ta sẽ pass được cái if kia.
vậy => ez sqli rồi
**Web Utils