본문 바로가기

개인 공부/WEB46

[웹해킹] LOS 26 - (Red Dragon) Lord of sql injection - Red dragon 풀이 다음은 빨간 용가리문제.! 뭔가 문제 패턴이 계속 바뀌어서 조금 재밌는것 같기도 하다.. 문제 접근 if(preg_match('/prob|_|\./i', $_GET['id'])) exit("No Hack ~_~"); if(strlen($_GET['id']) > 7) exit("too long string"); $no = is_numeric($_GET['no']) ? $_GET['no'] : 1; $query = "select id from prob_red_dragon where id='{$_GET['id']}' and no={$no}"; 필터링을 살펴보면, 특별한 것이없고 id의 입력에 길이 제한을 걸어두었다. 그리고 no를 입력할때 입.. 2021. 7. 3.
[웹해킹] LOS 25 - (Green Dragon) Lord of sql injection - green dragon 풀이 이제 풀다보니 dragon 까지 나오는군.... 그린 드래곤을 해치워보자 문제 접근 테이블이 출력되던 이전 문제들과 다른 문제 방식으로 변형됐다. 음 .. 필터링을 살펴보자 if(preg_match('/prob|_|\.|\'|\"/i', $_GET[id])) exit("No Hack ~_~"); if(preg_match('/prob|_|\.|\'|\"/i', $_GET[pw])) exit("No Hack ~_~"); 싱글 쿼터에 제한을 두는게 보인다. 특이한점은 모르겠다. 일단 코드를 봤을때 id에 '를 넣고 뒤에 pw를 무력화 시키는 코드를 작성하는 방식처럼 보이는데 그렇게하면 두번째쿼리에서 id가 admin이 되는게 불가능하므로,.. 2021. 7. 3.
[웹해킹] LOS 24 - (Evil_Wizard) Lord of sql injection - Evil wizard 풀이 los 24번 evil wizard 풀이 포스팅입니다. 문제 접근 if(preg_match('/prob|_|\.|proc|union|sleep|benchmark/i', $_GET[order])) exit("No Hack ~_~"); 문제는 hell fire와 비슷해보인다. 근데 주석으로 달린 same with hell_fire? really? 라는 문구가 간담을 서늘하게한다... 필터링은 union과 time based sql injection에 대한 제한을 두는 것으로 보인다. id column을 기준으로 출력해보았더니 역시나 id= admin, score = 50 인 계정의 email을 알아내는 문제이다. time based sql.. 2021. 7. 3.
[웹해킹] LOS 23 - (Hell_Fire) Lord of sql injection - Hell Fire 풀이 los 23번 문제 hell fire에 대한 풀이 포스팅입니다. 문제 접근 if(preg_match('/prob|_|\.|proc|union/i', $_GET[order])) exit("No Hack ~_~"); 우선 union에 대한 필터링이 걸려있다. 그리고 이전 문제들과 다르게 order by 절에 sql injection이 들어가고, 입력 쿼리로 order를 넣어주어야한다. select한 컬럼이 id,email,score 세개이다. 만약 컬럼의 수를 모를때는 https://girrr.tistory.com/73 Non Blind SQL Injection - ORDER BY를 이용한 컬럼 수 맞추기(이분법) Non Blind SQL I.. 2021. 7. 3.