Site(96)
-
dragon
이번시간에는 dragon을 풀어보겠습니다 공부하는 입장이니 틀린것이 있더라도 양해부탁드리겠습니다 소스코드를 확인해 보겠습니다 preg_match 함수로 prob _ . ( ) 를 필터링 $query = "select id from prob_dragon where id='guest'# and pw='{$_GET[pw]}'" $result['id'] 가 있다면 Hello $result['id'] 값을 출력 $result['id'] 가 admin과 일치한다면 클리어 그런데 쿼리부분을 보니깐 id='guest'# 에 주석처리가 되어있어서 and pw='{$_GET[pw]}'" 를 다 무시해버리기 때문에 pw에 어떠한 값을 넣어주어도 Hello guest 밖에 안나올 것 같습니다. 접근방법 pw에 값을 인식하게 ..
2022.04.13 -
xavis
이번에는 xavis를 풀어보겠습니다 이번 xavis문제는 힌트를 참고했습니다[역대급으로 까다로운 문제여서 힌트없이는 힘들었습니다ㅠ] 소스코드를 보겠습니다. prob _ . ( ) regex like 을 필터링 해줍니다 cf) regex = 특정한 규칙으로 문자열을 찾아내줌 addslashes함수로 $_GET['pw'] 필터링 $result['pw']와 $_GET['pw']가 정확히 일치해야 클리어되는 blind sql injection 문제인 것 같습니다 기존의 blind sql injection 문제풀이럼 접근하면 되는 줄 알았습니다 당연히 pw의 길이를 구하고 길이가 8이라 예측했지만 아니었습니다... 힌트를 찾아보니 UNION 을 활용해서 푸는 방법이 있었습니다. SQL에서 UNION은 두 개 이상..
2022.04.13 -
level31[old]
이번시간에는 level31을 풀어보겠습니다 공부하는 입장이니 틀린 것이 있더라도 양해부탁드립니다 level31은 포트포워딩에 관련된 내용이었습니다 포트포워딩에 관한 내용은 예전에 작성한게 있기 때문에 참고하시면 감사하겠고 여기서 간단하게 말씀드리면 NAT의 기능중에 하나로 컴퓨터들에게 특정한 포트를 개방시켜서 서로 통신이 가능하게 하는 기능입니다 level31 에 들어가 보니 Notice가 보이는 창이 뜨자마자 갑자기 밑에 있는 Warning 창으로 바뀝니다 한번 내용을 확인해 보겠습니다 $port = rand(10000, 10100); -> 값을 랜덤하게 얻는 rand함수를 통해 10000 - 10100 사이의 값 중에서 1개의 값을 port변수에 저장 아마 10000 - 10100의 포트값을 설정해 ..
2022.04.12 -
level61[old]
이번시간에는 level61을 풀어보겠습니다 공부하는 입장이니 틀린것 이있더라도 양해부탁드리겠습니다 level61번에 들어가니 view-source 가 보입니다 소스코드부터 확인해 보겠습니다 $_GET[' id '] 가 없다면 guest를 $_GET[' id ']에 넣음 addslashes함수로 $_GET[' id ']를 필터링 pregmatch함수로 ( ) select from , by . 을 필터링 $_GET[' id ']의 길이가 15보가 크면 아웃 쿼리문에서 chall61테이블에서 입력값 $_GET[' id ']을 출력하는데 id를 내림차순으로 정렬한뒤 출력개수를 1개로 제한함 select {$_GET['id']} from chall61 order by id desc limit 1 $_GET[' i..
2022.04.12 -
level58[old]
level58에 들어가니 채팅창 같은게 보였습니다 아무값이나 입력하니 command not found 라 나왔습니다 help를 입력니 ls id flag가 뜨네요 먼저 ls를 입력하니 index.js temp.html이 나왔습니다 index.js temp.html로 이동하니 위같은 화면이 나왔습니다[딱봐도 이상하니 아닌것같습니다...] id를 입력하니 userid, groupid, groups가 나왔습니다 [리눅스랑 관계가있나?] flag라고 입력하니 permission denied... admin only!라는 문구가 나왔습니다 flag 값만 알면 될것 같은데 현상태로선 답이 안나오니 소스코드를 보았습니다 socket.io로 소켓통신을 하는것 같습니다 크게보면 socket.emit으로 데이터를 보내는 ..
2022.04.10 -
level33[old]
level33에 들어가니 Challenge 33-1이라는 문구가 보이고 view-source와 wrong 문구도 보였습니다 소스코드부터 확인했습니다 $_GET[' get '] 값이 hehe이면 Next가 출력되고 hehe가 아니면 Wrong 문구가 출력되니 get방식이므로 url에 hehe를 넣어주면 클리어 될 것 같습니다 Next를 누르니 Challenge 33-2라고 나왔습니다 이번에도 먼저 소스코드부터 확인했습니다 $_POST[' post '] 가 hehe 이고 $_POST[' post2 '] 가 hehe2 이면 다음 단계로 가는 것 같았습니다 burpsuite를 사용하는 방법도 있지만 저는 개발자도구를 실행시켜서 form을 수정하였습니다 POST방식으로 받기위해 form method를 post로 ..
2022.04.10