| by munsiwoo | 1 comment

교내대회 Old school whitebox

<?php error_reporting(0); require_once ‘config.php’; if(isset($_GET[‘username’], $_GET[‘password’])) { $username = addslashes($_GET[‘username’]); $password = password($_GET[‘password’]); $username = mb_convert_encoding($username ,’utf-8′,’euc-kr’); if(preg_match(‘/union.*select/i’, $username)) { die(‘<h3>(つ゚⊿゚)つ Hey Nope!</h3>’); } $conn = mysqli_connect(__HOST__, __USER__, __PASS__, __NAME__) or die(‘server down’); $query = “SELECT * FROM `users` WHERE `username`='{$username}’ AND `password`='{$password}’;”; $result = mysqli_query($conn, $query); if($fetch = mysqli_fetch_assoc($result)) { echo ‘<h3>(๑→ܫ←) Hello, ‘.$fetch[‘username’].'</h3>’; […]

Read More
| by munsiwoo | 1 comment

Hack.lu CTF 2018 – Baby PHP

<?php require_once(‘flag.php’); error_reporting(0); if(!isset($_GET[‘msg’])){ highlight_file(__FILE__); die(); } @$msg = $_GET[‘msg’]; if(@file_get_contents($msg)!==”Hello Challenge!”){ die(‘Wow so rude!!!!1’); } echo “Hello Hacker! Have a look around.\n”; @$k1=$_GET[‘key1’]; @$k2=$_GET[‘key2’]; $cc = 1337;$bb = 42; if(intval($k1) !== $cc || $k1 === $cc){ die(“lol no\n”); } if(strlen($k2) == $bb){ if(preg_match(‘/^\d+$/’, $k2) && !is_numeric($k2)){ if($k2 == $cc){ @$cc = $_GET[‘cc’]; } } […]

Read More
| by munsiwoo | No comments

mysql jail

mysql console jail http://withphp.com:33306/ 원래 문제로 만들 생각은 없었는데 어쩌다보니 만들게 됨 문제가 아니더라도 평소에 online mysql 로 이용하면 좋을 거 같다.

Read More
| by munsiwoo | No comments

2018 CCE 예선 9번 웹 write up

CCE 예선에 나온 9번 웹 문제다. 여차여차해서 겨우 턱걸이로 본선 갔는데, 본선간 기념으로.. 이렇게 풀이 적어본다. Step1. SQL Injection 문제 사이트(52.79.117.74/admin)로 접속하면 로그인 폼이 하나 나온다. 그냥 이것 저것 넣어서 반응 확인하다보면 sql injection 문제인걸 알 수 있다. 1. id=\&pw=1 2. id=\&pw=||1# 1번 페이로드를 보내면 에러가 뜨고, 2번 페이로드를 보내면 avery라는 계정으로 로그인된다. ||, #와 […]

Read More
| by munsiwoo | No comments

open_basedir bypass 정리

open_basedir 옵션은 PHP에서 접근할 수 있는 디렉토리에 제한을 두는 옵션이다. 이 옵션을 우회할 수 있는 방법이 여러가지 있는데, 일단 해캠에서 발표했던 내용만 정리한다. 해킹캠프18에서 발표했던 발표 자료는 여기에서 볼 수 있다. open_basedir bypass via glob function (PHP 5.2.4) open_basedir bypass via symlink function (PHP 7.2) open_basedir bypass via mysqli_* function (PHP 7.2) open_basedir bypass via glob wrapper (PHP […]

Read More
| by munsiwoo | No comments

도커(docker) 명령어 정리

이 글은 Dockerfile, docker-compose 말고 그냥 간단한 docker 명령어에 대해서 정리해놓은 글이다. 이미지 받기 이미지는 pull 명령어를 이용해서 받을 수 있다. 예시 : docker pull ubuntu:18.04 받은 이미지로 컨테이너 생성 컨테이너 생성 : docker run <옵션> <이미지 이름> <실행할 파일> run 명령어는 생성할 컨테이너의 이미지가 이미 존재할 때 사용한다. 예시 : docker run -it -d […]

Read More
| by munsiwoo | No comments

내가 볼려고 적는 IDA 단축키 정리

단축키 정리 모든 문자열 보기 : shift + f12 모든 문자열 검색 : alt + t hey-ray 실행 : f5 (안되면 함수 로직을 타고 들어가서 f5) 그래도 hex-ray가 안될 때 ida x64로 열어서 안되는거라면 ida x86으로 열어보자. 상단탭의 Options->Compiler에서 int를 8->4로 바꿔보자 동적 디버깅 모드 : f9 동적 디버깅 모드 나가기 : ctrl + f2 […]

Read More