2019/10(62)
-
[HackCTF] Web - Time :: Two months
우선 저 수학식을 계산하면 5184001 인데 이 값을 입력하고 제출하면 2달이 넘는 시간을 기달려야한다. 그리고 입력값은 is_numeric() 에 의해서 숫자만 입력할 수 있기 때문에 5184001 와 같은 5.184001e6 을 입력해주면 모든 조건문이 통과되어서 5초만 기다리면 flag 가 출력된다. flag is HackCTF{1_w4nt_t0_sp3nd_m0r3_t1m3}
2019.10.22 -
[HackCTF] Web - 마법봉 :: Magic bong
이 코드를 보자마자 매직해쉬라는 점이 떠올라야 한다. https://www.whitehatsec.com/blog/magic-hashes/ Magic Hashes | WhiteHat Security For more than the last decade, PHP programmers have been wrestling with the equals-equals (==) operator. www.whitehatsec.com 위의 사이트에서 매직해쉬리스트에서 찾아서 입력하면 플래그가 뜰것이다. 240610708 = sha1(10932435112) 값과 같게 되므로 10932435112 값을 주면 플래그를 흭득할 수 있게 됩니다. HackCTF{magic_makes_everything_possible}
2019.10.22 -
[HackCTF] Web - Login 풀이 :: login
소스를 보면 되게 간단한 sql injection 문제인것 같다. id 의 값을 참으로 만들고 주석을 달아주면 pw 의 값은 무시하고 쿼리문에 들어가기 때문에 id 의 결과값이 나와 문제가 풀릴 것이다. id : ' or 1=1# pw : 아무값 위에는 간단한 sql injection 을 한 방법이고 꼼수를 쓰자면 조건문안에 welcome.php 라는 문자열이 보인다. 그 주소를 복사해서 url 주소창에 입력해보자. Flag is HackCTF{s1mple_sq1_1njecti0n_web_hack!!}
2019.10.22 -
[HackCTF] Web - Read File 풀이 :: Read File
아마 flag.php 파일을 읽으면 될 것 같다. 그래서 url 주소값을 보니 http://ctf.j0n9hyun.xyz:2021/?command=http://google.com 라고 되어있길래 command 값에 flag.php 를 넣어주었다. 이것을 보니 아마 flag 문자열이 필터링 당하는 것이라고 예상된다. flag 문자열이 필터링된것을 확인하기 위해서 http://ctf.j0n9hyun.xyz:2021/?command=http://google.cflagom 이런식으로 입력해주었는데 처음과 같은 창이 떳다. 그래서 혹시나 해서 flflagag.php 를 주소창에 넣어주었는데 플래그를 출력했다. flag is HackCTF{w3lcome_to_vu1n_web?}
2019.10.22 -
[HackCTF] Web - Guess 풀이 :: Guessing Game
위에서 맨 처음 보이는 함수는 extract($_GET) 함수인데 GET query parameter로 저기 있는 변수들의 값을 원하는 값으로 바꿀 수 있다. 따라서 우리는 $filename의 값을 바꿀 수 있고, $filename의 값을 아무 값으로 변경해 준다면, 해당 파일은 존재하지 않을 것이므로 guess에 아무 값도 입력해주지 않는다면 $guess === $secretcode 가 true(참)가 되어 플래그가 나올 것이다. http://ctf.j0n9hyun.xyz:2030/?filename=1&guess= flag is HackCTF{3xtr4c7_0v3rr1d3ds_pr3vi0u5_kn0wn_v4r1abl35}
2019.10.22 -
Los giant 14번 문제 (rubiya)
쿼리문을 보자. 쿼리문을 보면 select 1234 from prob_giant where 1 이라는 값이 있어야하는데 select 1234 from prob_giant where 1 빨간색 부분이 붙어있다. 아마 저부분을 띄어쓰게하면 풀릴것 같다. 여기서 공백을 대채할 수 있는 문자들을 아래 적어놓겠다. %09 : tab %0a : line feed %0b : vertical tab %0c : form feed %0d : carriage return + : space와 동일 /**/ : 주석, 내부에 임의의 문자열 삽입 가능 이렇게 공백을 우회할 수 있는 문자들이 엄청 많다. 이 문제에선 %0a,%0b%0d,tab 등을 우회하기 때문에 여기 없는 값인 %0c (form feed)를 사용하면 풀릴 것이다.
2019.10.19