php(5)
-
Guest book 풀이 (PW = FLAG 앞 10글자)
보호되어 있는 글입니다.
2024.09.21 -
Web - Server | File upload - Double extensions
메인 페이지에는 여러 가지 아이콘이 보이고, 상단에는 바가 있습니다. 바에 있는 upload를 눌러보겠습니다. upload your photo! 라고 되어있는 걸 보니 이미지 파일이 아니면 파일 업로드에 실패할 것 같습니다. 문제 파일에서 .password라는 힌트를 줬으니 이를 이용해 웹쉘 코드를 짜 보겠습니다. 위와 같이 웹쉘 코드를 짜주고 파일 이름은 upload.php.png로 해줬습니다. php 필터링을 우회하기 위해 끝에 .png를 붙여준 것입니다! 이제 이 파일을 Upload 해보겠습니다. 다행히도 바로 들어갔네요. 주어진 링크를 따라가서 ../../../.passwd를 열어보겠습니다. EZ :>
2022.06.14 -
Web - Server | PHP - Command injection
text box에 ip를 입력하도록 되어있습니다. 127.0.0.1을 입력해보니 ping 명령어를 실행시켰을 때와 동일한 텍스트가 웹페이지에 나타납니다. 아무래도 이 페이지는 입력한 운영체제 명령어를 실행해서 그대로 결괏값을 보여주는 페이지인 것 같습니다. 이번에는 테스트 겸, ip 뒤에 Command injection 명령어를 넣어보겠습니다. index.php라는 파일이 디렉토리에 들어있었네요? 127.0.0.1 | cat index.php 위 명령어를 실행시켜 index.php 파일을 열어보겠습니다. text box와 제출 버튼이 각각 하나씩 더 생겼습니다. 개발자 도구에서 페이지 소스를 확인해보겠습니다. 소스코드에 이런 주석이 달려있었습니다. php 코드에서 flag라는 변수를 선언하고, 여기에 ...
2022.06.06 -
[wargame.kr] login filtering 풀이
소스코드 제일 아래에 있는 아이디랑 비번?처럼 보이는 것을 써서 로그인부터 해보겠습니다. you have blocked accounts. 라고 써져있는 걸 보니 사용할 수 없는 계정인가 봅니다. blueh4g / blueh4g1234ps 계정도 마찬가지였습니다. 이제 페이지가 어떻게 작동하는지 알았으니, 본격적으로 소스코드를 해석해보겠습니다. 코드의 윗부분은 문제 풀이에 그다지 도움되지 않는 부분이니, 설명은 생략하도록 하겠습니다. 여기 있는 if문이랑 sql구문이 중요해 보입니다. 차근차근 분석해보겠습니다. id가 존재할 때, id가 guest 또는 blueh4g라면 "your account is blocked"를 출력해줍니다. 아니라면 "login ok"를 출력해주고 FLAG를 출력해줍니다. id가 ..
2022.01.01 -
php-1 풀이
view.php를 보면 flag를 필터링해주고 있는 걸 볼 수 있습니다. 이 필터링을 우회해야하는데, 이 부분은 php wrapper 취약점을 써서 해결해보겠습니다. http://host1.dreamhack.games:10099/?page=php://filter/convert.base64-encode/resource=/var/www/uploads/flag 쿼리에 이렇게 입력을 넣고 엔터를 누르면 아래와 같이 화면이 바뀌게 됩니다. 이제 여기에 나온 값을 Base64로 디코딩하면 FLAG가 나올 것입니다.
2021.09.05