반응형

웹해킹 109

[b01lers CTF] Programs Only - 웹해킹 / 헤더변조 / robots.txt

쉬운 난이도의 웹해킹 문제 별다른 소스파일은 주어지지 않고 문제 페이지 주소만 제공된다. 문제 페이지에 접속하면 이런 화면이 나온다. Tron City, Sea of Simulation, Disc Areana, 0001001 Club.. 뭔가 사이버틱 한 사진들이 있고, 맨 위에는 환영문구처럼 보이는 멘드가 써있는데 Welcome 'Mozilla/5.0 (WindowsNT 10.0; Win64; x64) AppleWebKit/537.36 ( KHTML, like Gecko) Chrome/85.0.4183.121 Safrari/537.36' to The Grid 라고 적혀있다. 파란색으로 표시한 부분이 뭔가 익숙한데, 이건 일반적으로 요청 헤더에서 일반적으로 볼 수 있는 user-agent 헤더의 내용이다..

CTF/웹해킹 2022.11.24

[HackTheBox] Gunship - 웹해킹 / Prototype Pollution / RCE

HackTheBox 에서 제공하는 very easy 난이도의 웹해킹 문제 프로토타입 폴루션과 관련된 문제인데 당시 프로토타입 폴루션이라는걸 처음 접해봐서 푸는데 시간이 좀 걸렸다. 사실 아직도 완벽하게 이해는 못했다. 문제페이지에 접속하면 이런 화면이 나온다. 레트로 감성 가득한 웹페이지에 Who's your favourite artist? 라는 문구와 함께 이름을 입력하는 창이 보인다. 찾아보니 Gunship 은 밴드의 이름이다. Alex Gingell, Dan Haigh, Alex Westaway 세 사람으로 이루어졌다고 한다. const path = require('path'); const express = require('express'); const pug = require('pug'); con..

[Root Me] NoSQL injection - Authentication - 웹해킹 / Python

NoSQL Injection 과 관련된 웹해킹 문제 NoSQL 이란 Not only SQL 의 약자로 SQL 만을 사용하지 않는 DBMS 를 말한다. 기존 관계형 데이터베이스 보다 덜 제한적인 특징을 가진다. 이번 문제의 목표는 NoSQL Injection 을 통해 숨겨진 USER 를 찾는 것이다. 문제 페이지에 접속하면 이런 로그인 창이 나온다. 시험삼아 ID 와 PW 에 hello / hello 라고 입력해봤다. Bad username or bad password 라는 문구가 출력된다. URL을 보니 입력한 ID 와 비밀번호를 GET 방식으로 서버에 전송하고 있다. ID 는 login 변수에, 비밀번호는 pass 변수에 담아서 넘긴다. https://github.com/swisskyrepo/Paylo..

워게임/Root Me 2022.11.05

[HackTheBox] baby CachedView - 웹해킹 / Flask

HackTheBox에서 제공하는 쉬운 난이도의 웹해킹 문제이다. 문제페이지에 처음 접속했을 때 화면이다. 토끼가 춤추고 있고, 아래에는 URL을 입력하는 창이 보인다. 시험삼아 네이버 주소를 입력해 봤더니 이렇게 아래쪽에 네이버 메인화면 스크린샷을 가져와서 표시해준다. 문제 제목 그대로 사용자가 입력한 URL에 방문해서 해당 페이지를 Caching 하는 기능의 웹페이지이다. 일단 주어진 문제파일을 통해서 flag 라는 사진파일이 서버 내에 있다는것을 알았다. @api.route('/cache', methods=['POST']) def cache(): print("Cache") if not request.is_json or 'url' not in request.json: return abort(400) r..

[Root Me] PHP - Loose Comparison - 웹해킹 / MD5 Magic Hash

php의 약한 비교(Loose Comparison) 로 인해 발생하는 php magic hash 와 관련된 웹 해킹 문제이다. 문제 페이지에 접속하면 이런 화면이 나온다. seed 와 hash를 입력하는 칸이 있고, 옆에는 check 버튼이 있다. 뭔지 모르겠으니 일단 아래 source code 버튼을 눌러 소스코드를 확인해본다. source code 버튼을 누르면 이렇게 아래쪽에 소스코드가 출력된다. 이 부분부터 살펴본다. seed 에 입력한 값은 $s 에 저장되고, hash 에 입력한 값은 $h 에 저장된다. 각각의 변수에 저장되기 전에 sanitize_user_input 함수와 secured_hash_function 함수에 입력값을 먼저 넣어주는데, sanitize_user_input 함수는 정규식..

워게임/Root Me 2022.10.25

[2020CCE] easy sqli / easy ssrf / robot - 웹해킹

2020년에 진행된 국정원 주최 사이버공격방어대회 오랫동안 컴퓨터에 당시 문제들을 묵혀놨다가 이제야 풀이 포스팅을 해본다. 당시는 거의 이런 대회에 나가본게 처음이라, 시간에 쫒겨서 캡쳐를 제대로 못한 부분이 많다. 생각보다 쉬운 난이도의 문제가 많아서, 하나씩 포스팅하면 글이 너무 짧아질까봐 쉬운 문제들은 몇개씩 묶어서 포스팅 해보려 한다. easy sqli 가장 먼저 easy sqli 문제 문제 페이지에 접속하면 로그인 페이지가 나오고, Login as admin 이라는 가이드도 주고 있다. SQL Injection 문제의 전형적인 문제로 아마 서버측에서는 select * from users where username=' ' and password = ' ' 이런식으로 쿼리가 적혀있을 것이다. use..

CTF/웹해킹 2022.10.13

[HackTheBox] Phonebook - 웹해킹 / LDAP Injection / Python

HackTheBox 에서 제공하는 LDAP Injection 관련 문제 사실 이번 문제를 풀면서 LDAP Injection을 처음 경험해 봐서 난이도는 EASY 지만 꽤나 오랜 시간이 걸렸다. 문제를 푸는시간보다 LDAP Injection이 취약점이라는것을 알아차리는게 오래걸렸다. 문제 페이지에 접속하면 이렇게 로그인 페이지가 나온다. 일단 여기서 SQL Injection 인줄 알고 별의별 시도를 다 해보느라 시간이 오래걸렸다. 이것저것 넣어보다가 특이한것을 발견했다. 로그인에 실패하면 위처럼 빨간 박스에 Authentication failed 라는 문구가 뜨는데 username 과 password 에 각각 * / * 을 입력하면 뭔가 로그인이 된 듯한 화면으로 넘어간다는 것이다. 여기서 LDAP Inj..

[HackTheBox] Templated - 웹해킹 / SSTI

SSTI 와 관련된 웹해킹 문제 SSTI란 Server Side Template Injection의 약자로 템플릿 엔진으로 웹 어플리케이션을 구동하는 경우, 공격자가 템플릿 구문을 악용하여 삽입할 수 있는 취약점이다. 이렇게 템플릿 구문이 삽입되게 되면, 원격 명령어 실행도 가능하게 되는 위험한 취약점이다. 문제 페이지에 접속하면 이런 화면이 나온다. 아직 완성되지 않은 웹 서버를 묘사해놓은것 같은데 Site still under construction 이라고 되어있고 아래쪽에 Proudly powered by Flask/Jinja2 라고 적혀있다. 이 부분이 아주 큰 힌트이다. 일단 공격 벡터를 찾기 위해 이것저것 시도해봤다. URL에 없는 경로를 입력할 경우 404 Error 페이지로 이동하게 되는데..

[HackTheBox] Emdee five for life - 웹해킹 / Requests / BeautifulSoup

이제부턴 HackTheBox 에서 제공하는 워게임 문제도 포스팅 해보려고 한다. 예전에 풀었던 문제들 Write Up이라 지금 접속하면 안보이는 문제들도 꽤 있다. 그중 가장 쉬운 문제였던 Emdee five for life 이다. Emdee five 라는 말을 처음봐서 이게 대체 뭔가 했는데 발음 그대로 읽으면 MD5 이다.. 문제도 MD5 해시 알고리즘과 관련된 내용이다. 문제 페이지에 접속했을때 화면이다. MD5 encrypt this string 이라는 문구가 나오고 바로 아래에는 알 수 없는 문자열이 나오는데, 단순하게 저 문자열에 대한 MD5 해시값을 입력창에 넣어 제출하는 것이 목표이다. 문자열을 MD5 해시로 만든 뒤, Submit 버튼을 눌렀더니 Too slow! 라는 문자열이 뜨면서 M..

[Root Me] SQL injection - Authentication - GBK - 웹해킹 / Burp Suite

Root Me의 세번째 SQL injection 문제 이번 문제는 쪼금 어려울 수도 있다. 문제자체는 어렵지 않은데 많이 생소하기 때문.. 문제의 목표는 admin 으로 로그인 하는 것이다. 중간에 보면 파란색으로 힌트가 써있는것이 보인다. Do you speak chinese ? 라고 적혀있는데 이건 문제 제목에도 적혀있는 GBK 때문이다. GBK 는 중국에서 사용하는 간체 중국어에대한 문자 세트를 말한다. 국가표준(国家标准) 을 중국어로 Guojia Biaozhun 이라고 발음하는데, 여기서 G 와 B 를따고, 확장하다는 의미인 扩展 (Kuozhan) 에서 K 를 따와서 GBK 라고 지었다고 한다. 그냥 쉽게 생각하면 컴퓨터로 간체 중국어를 쓰기위해 만든 인코딩이다. 문제 페이지에 접속하면 이런 화면..

워게임/Root Me 2022.09.26
반응형