-
[Lord of SQL_injection] #21 iron_golem$ 웹 해킹 $/los.rubiya.kr 2019. 4. 6. 01:03
이번 문제부터는... Hello admin이 출력하지 않습니다.
출력해주는것은 mysql_error()났을때 나오는 것입니다.
mysql_error()을 일으키는법은 서브쿼리를 이용해서 단일행 서브쿼리, 다중행 서브쿼리, 다중열 서브쿼리 이라는 것이 있는데 다중행 서브쿼리에 단일행 서브쿼리 를 서브쿼리로 넣으면 다르기 때문에 에러가 난다고 합니다.
if문을 이용한 서브쿼리 , case를 이용한 서브쿼리 등을 이용하면 에러를 만들수 있습니다.
?pw=' or id='admin' and if(length(pw)=길이 값,(select 1 union select 2),1)%23이라고 작성을 하면 됩니다.
여기서 select 1 union select 2는 2개의 필드를 출력하는 것인데 에러에 출력되는 값을 보면
이렇게 출력을 하게 됩니다.
이를 이용해서 코드를 작성해 보면 다음과 같습니다.
결과를 보면 pw의 길이는 136이 나옵니다.
아마 136인 이유는 hex로 출력했기 때문에 8글자 * 17 = 136 인것 같습니다.
출력된 password를 보면 다음과 같습니다.
8자리씩 끊어 보면 다음과 같습니다.
0000b8e8 0000be44 0000aebc 0000c57c 00000021 0000be7c 0000c560 0000c560 0000c560 0000c560 0000c560 0000c560 0000c560 0000c561 00000021 00000021 00000021
루비꺼야!빼애애애애애애애액!!!
'$ 웹 해킹 $ > los.rubiya.kr' 카테고리의 다른 글
[Lord of SQL_injection] #23 hell_fire (0) 2019.05.28 [Lord of SQL_injection] #22 dark_eyes (0) 2019.05.28 [Lord of SQL_injection] #20 dragon (0) 2019.04.06 [Lord of SQL_injection] #19 xavis (4) 2019.04.06 [Lord of SQL_injection] #18 nightmare (0) 2019.04.06