반응형

command injection 11

[CTFlearn] Domain name resolver - 포너블 / Command Injection / IDA

CTFlearn 에서 제공하는 Easy 난이도의 포너블 문제 문제에서는 원격으로 접속할 수 있는 주소와 문제 바이너리 파일이 주어진다. 설명을 보면 도메인과 IP와 관련된 문제인듯 하다. 문제에서는 task 라는 바이너리가 주어진다. 해당 바이너리를 IDA 라는 도구를 이용해 열어봤다. F5를 눌러 메인함수의 수도코드를 보면 첫째로 사용자로부터 입력을 받는다. 입력받는 값은 도메인 네임이다. 다음으로 입력받은 값을 dig +short 형태로 명령어를 수행하고, 그 결과를 출력한다. 참고로 dig 명령어는 이렇게 도메인 이름을 입력하면 그 도메인의 아이피를 리턴해주는 명령어이다. 저 명령어를 그대로 task 바이너리를 이용해 수행하는 것이다. 실제로 원격으로 접속해 실행해보면 똑같은 결과가 리턴되는것을 확..

워게임/CTFlearn 2023.09.09

[Space Heroes CTF] Sanity Check In Space - 웹해킹

웹해킹 1번문제였다. 웹해킹 기초의 종합선물세트 같은 느낌이었다. 문제 페이지에 접속하면 이런 화면이 나온다. 로봇 그림이 있는데 로봇이 나온다면 바로 /robot.txt 로 들어가보는게 정석이다. URL 에 robots.txt 를 입력해서 가보니 humans.txt 라는 페이지가 있다는 것을 알게 되었다. 바로 humans.txt 로 들어가봤더니 우주비행사 사진이 나왔다. 그런데 우주비행사가 쿠키를 하나 들고있는것이 보였다. editthiscookie 확장프로그램을 통해 쿠키값을 확인해보니 human 이라는 쿠키값이 false 로 설정되어 있는것이 보였다. 해당 값을 true 로 바꿔준뒤 새로고침을 해봤다. 그랬더니 arrakis 로 가보라는 문구가 나왔다 arrakis 로 가보니 비밀번호를 입력하는 ..

CTF/웹해킹 2023.05.05

[Cyber Security Rumble] Cyberwall - 웹해킹 / Command Injection

아주 전형적인 Command Injection 문제 아주 똑같은 문제들을 이전에 블로그에서도 다룬적이 있었다. (https://hackingstudypad.tistory.com/74) (https://hackingstudypad.tistory.com/256) 회사에서 방화벽 시스템을 구축했다면서 방화벽의 웹 인터페이스 접속 주소를 제공하고 있다. 해당 페이지로 접속하면 비밀번호를 입력하는 창이 하나 나오는데 F12를 눌러 개발자도구를 이용 비밀번호 입력창 부분의 소스를 확인해본 결과 비밀번호가 하드코딩 되어있는것을 발견했다. 알아낸 비밀번호는 rootpw1337 이다. 비밀번호를 입력해서 접속하면 Debugging 페이지가 나오는데, 여기 익숙한 UI가 보인다. IP 주소를 입력할 수 있는 칸이 있고, ..

CTF/웹해킹 2022.12.19

[HackTheBox] petpet rcbee - 웹해킹 / Command Injection / Pillow

Pillow 취약점을 이용한 Command Injection 문제 HackTheBox 에서 제공하는 문제는 난이도가 EASY 더라도 조금 어려운것 같다... 문제페이지에 접속하면 이런 화면이 나온다. 귀엽게 생긴 벌들이 날아다니고 아래쪽에는 뭔가 파일을 업로드 할 수 있는 버튼이 있다. 바탕화면에서 크롬 아이콘을 캡쳐해서 한번 업로드 해봤더니 갑자기 손이 하나 튀어나와서 업로드한 크롬 사진을 마구마구 쓰다듬어 준다. 찾아보니 pet 이라는 단어가 애완동물 외에도 동사로 쓰일경우 쓰다듬다 라는 뜻이 있다고 한다. 문제 제목 그대로 업로드한 사진을 쓰다듬어 주는 기능이 이 페이지 기능의 전부이다. 문제에서 같이 주어진 Dockerfile 을 열어보면 pip install로 Pillow 라이브러리를 다운받고 ..

[CTFlearn] Calculat3 M3 - 웹해킹 / Command Injection

CTFlearn의 서른아홉번째 문제 이번에는 Hard 난이도의 웹해킹 문제이다. 사실 어떻게 보면 진짜 쉬운 문제인데 난이도가 Hard 라고 적혀있어서 어렵게만 생각하다가 푸는데 시간이 좀 걸렸다. 문제 페이지에 접속하면 이렇게 계산기 하나가 나온다. 이렇게 수식을 입력하고 = 버튼을 누르면 화면 왼쪽 상단에 계산결과가 출력되는 간단한 기능을 가지고 있다. F12를 눌러 개발자도구에서 해당 페이지의 js 코드를 살펴본다. 사용자에게 입력받은 수식을 eval 함수를 이용해 계산해서 출력해주는듯 하다. 온라인 컴파일러로 확인해보니 맞는것 같다. eval 함수는 굉장히 강력하지만 악용될 경우 운영체제 명령어를 실행시키는데 사용될 수도 있다. 오랜만에 Burp Suite 를 이용해 문제를 풀었다. = 버튼을 눌..

워게임/CTFlearn 2022.11.27

[HackTheBox] LoveTok - 웹해킹 / Command Injection

HackTheBox 에서 제공하는 LoveTok 문제 웹해킹 문제로 Command Injection 취약점을 이용한 문제이다. 문제페이지에 접속했을 때 화면이다. You'll find love: 라고하면서 어떤 시간을 알려주고 있다. 아래쪽에 있는 Nah, that doesn't work for me. Try again! 이라는 문구는 위에 있는 시간이 마음에 들지 않을 때 누르는 버튼이다. 버튼을 누르면 URL이 /?format=r 이라고 바뀌면서 시간도 같이 바뀌게 된다. 주어지는 소스코드도 같이 살펴보자. TimeController.php 파일을 먼저 살펴본다. isset 으로 format 파라미터가 GET 요청에 있으면 그대로 쓰고, 없으면 r 값을 넣어준다. 이건 아까 빨간 버튼 눌러서 확인한 ..

[SHELLCTF] More ILLUSION - 웹해킹 / Command Injection / 명령어 삽입

얼마전 포스팅한 ILLUSION 문제의 업그레이드된 버전이다. (https://hackingstudypad.tistory.com/276) 문제 푸느라 정신없어서 More ILLUSION 은 문제 설명부분을 캡처를 못해 ILLUSION 문제껄 그대로 썼다. 하지만 거의 똑같은 내용이다. 문제 환경은 ILLUSION 문제와 완전 똑같다. 다른 점이 있다면 I Bet you can't 가 I Bet Again you can't 로 바뀌었다는것.. 지난번 문제를 복기해보면 두 가지 조건이 있었다. 입력창에 입력 가능한 문자열은 a, c, d, f, g, l, s, t, x, ;, :, . 으로 제한된다. cd, ls, .. 은 공백으로 치환된다. 위의 두가지 조건 때문에 ccdd ....; llss ....; ..

CTF/웹해킹 2022.09.30

[SHELLCTF] ILLUSION - 웹해킹 / Command Injection / 명령어삽입

상당히 재미있었던 웹해킹 문제 Command Injection 과 관련된 문제이다. Sometimes it happens things are there but you can't see it directly. We need to change our vision to make it visible. I believe you have that vision. 뭔가 철학적인 문제 설명과 함께 문제 페이지 주소가 주어진다. 플래그는 flag.txt 파일 안에 있다고 한다. 문제 페이지에 처음 접속했을 때 화면이다. 뭔가 도발적인 I Bet you can't 라는 문구와 함께 아래쪽에 뭔가를 입력받는 칸이 하나 보인다. 맨 아래는 What I See 라는 문구가 적혀있다. 아무런 정보가 없어서 일단 hello 라고 입..

CTF/웹해킹 2022.09.27

[TFCCTF] PONG - 웹해킹 / Command Injection / 명령어삽입

Warm Up 난이도의 간단한 웹해킹 문제 아주 기본적인 Command Injection 문제이다. 문제 제목이 PONG 인걸보니 ping 명령어와 관련된 문제인듯 하다. 이 문제와 똑같은 문제를 Root Me 사이트에서 제공하고 있고, 얼마전에 해당 문제 풀이를 포스팅했었다. (https://hackingstudypad.tistory.com/74) 문제페이지에 접속한 모습이다. index.php 에서 host 변수에 127.0.0.1 이라는 값을 받아 서버로 전달하고 있다. 서버에서는 ping -c 2 127.0.0.1 이라는 명령어가 실행되었다는 정보를 알려주고 있다. ping 은 네트워크를 통해 특정한 host 가 도달할 수 잇는지 여부를 테스트하는데 쓰이는 명령어이다. 문제는 이렇게 웹서비스를 통..

CTF/웹해킹 2022.09.07

[Root Me] Command injection - Filter bypass - 웹해킹 / RequestBin

예전에 풀었던 Command injection 문제의 업그레이드 버전이다. (https://hackingstudypad.tistory.com/74) 이전 문제 풀이를 읽어보면 이해하는데 조금 더 도움이 될것같다. 10점에서 30점으로 점수가 팍 오른 두번째 문제 그만큼 생각을 좀 해야한다. 문제의 목표는 웹페이지의 취약점을 찾아 exploit 하는것이다. 플래그는 index.php 파일안에서 찾을 수 있다고 한다. 문제페이지에 들어가면 입력창이 하나 있고, 제출 버튼이 나온다. 입력창에는 기본으로 127.0.0.1이 들어가 있다. 일단 먼저 제출버튼을 눌러본다. 제출을 누르면 Ping OK 라는 문구가 출력된다. 이전 문제는 ping 127.0.0.1 -c 3 명령어의 실행 결과가 그대로 출력됐는데, 이..

워게임/Root Me 2022.08.09
반응형