Share with QR code

우측의 QR코드를 카메라 또는 전용앱등을 통하여 촬영하시면 손쉽게 해당 글을 공유하실수 있으며, 목차 선택후 공유시 해당 목차가 공유됩니다.

추천 tag

  • node.js

    Node.js

    JavaScript runtime for servers
  • next.js

    Next.js

    React framework for web apps
  • JavaScript

    JavaScript

    makes web pages interactive
  • html

    HTML5&CSS3

    HTML5 structures, CSS3 styles web pages
  • Node.js

    JavaScript runtime for servers
  • Node.js

    JavaScript runtime for servers
  • Node.js

    JavaScript runtime for servers
  • Node.js

    JavaScript runtime for servers

라조기의 IT역경기

여러분의 방문을 환영합니다!! 🥳🥳

다양한 IT 분야를 깊이 있게 연구하여 빠르고 정확한 정보를 제공하는 블로그가 되겠습니다.

총 방문자

총 포스팅

블로그 D+DAY

IT에 빠져든지..

Cybersecurity/Web Hacking

[드림핵 웹해킹] LEVEL 1 command-injection-chatgpt

온바다 요새의 라조기 2024. 10. 2. 19:11
    INDEX
TARGET
제가 공부할때 목표로 하던 것 입니다.
반응형

 

 

문제를 보니 명령어 인젝션이라고 한다.

 

 

 

 

먼저 서버인 app.py의 코드를 보면 /ping으로 접속 후 post요청 시

host 변수로 온 ip 주소로 핑을 3번 날리고 결과를 표시하도록 되어 있다.

 

여기서 취약점은 host변수로 온 데이터를 검증하지 않고 바로 명령어로 쓴다는 점인데,

가장 위에 flag.py파일에서 FLAG라는 변수를 가져오는데 여기에 우리가 구해야 할 문자가 있다.

 

즉, 이것을 이용하여 FLAG라는 변수를 출력시키는 명령어를 작성하면 되는 것이다.

 

명령어를 바로 만들어 보면

 

8.8.8.8; python3 -c 'from flag import FLAG; print(FLAG)'

 

 

이런 식으로 핑을 날릴 8.8.8.8을 두고 세미클론(;)으로 명령어를 끝낸 후,

다시 처음부터 python3로 시작하여 FLAGprint 하도록 설계하였다.

 

그럼 이제 제공되는 사이트에 /ping으로 들어가 입력해 본다면 FLAG가 잘 출력되는 것을 볼 수 있다.

반응형

💡 중요한 안내 드려요!

제가 아직 시간이 부족해서, 일부 기기에서 화면 너비 관련 오류가 발생할 수 있습니다. 😅

혹시 화면이 잘 보이지 않거나, 불편한 부분이 있으면 컴퓨터에서 접속하시면 더욱 원활하게 이용하실 수 있어요! 💻

그리고, 만약 오류를 발견하셨다면, 아래 버튼을 눌러 주시면 바로 오류가 제보됩니다. 제보는 아주 간단하고, 저에게 큰 도움이 돼요! 😊👍

LAZOGI Editor을 바로 실행하여 여러 코드를 온라인에서 실행 할 수 있어요.
메모 기능을 사용하여 공부한 내용을 편리하게 정리하고 온라인에 저장 할 수 있어요.
원탭으로 다크모드로 전환 할 수 있어요.
아직 오류가 있을 수 있어요.