공통문제.
https://dreamhack.io/wargame/challenges/416
sql injection bypass WAF Advanced
Description Exercise: SQL Injection Bypass WAF의 패치된 문제입니다. 문제 수정 내역 2023.07.24 Dockerfile 제공
dreamhack.io


첨부 파일을 다운로드 받았으나.. 잘 모르겠지만 일단 프로그래밍 구성이 아니고 힌트를 얻을 수 없다는 것을 알 수 있음
첨부파일에 들어있던 파이썬 파일을 열어봄

코드를 살펴보면 uid는 입력받고 check_WAF(data)를 통해
keywoerds의 단어들을 필터링 함을 알 수 있음.
or, and, \n, \r 등 주요 키워드를 필터링하여 사용할 수 없음.
또한 lower 함수로 대문자로 우회할 수도 없음..
해당 메세지가 입력되면 오류처리 되기에
주요 키워드를 사용하지 않고 문자를 하나씩 찾아보기로함....
uid ='' || uid = concat('ad','min')
필터링이 되지 않는 concat을 사용해서 필터링 되는 admin이라는 문자열 생성
admin 계정의 정보를 불러오도록 함
이제 admin의 비밀번호를 하나씩 찾기...
substr(upw, 1,1) = 'd'
upw = passward
비밀번호의 첫번째 글자가 d인지 확인해보자..
0도 넣어보았으나 admin이 출력되지는 않았다
이렇게 계속..

사물함 좌물쇠처럼 노가다 작업..
for문을 이용해서 돌려보면 좋을 것 같다
for position in range(1, 101):
for char in chars:
query = f"' ||uid=concat('ad','min')&&substr(upw,{position},1)='{shar}'#"
2학년 문제1
https://dreamhack.io/wargame/challenges/37/?page=2
file-download-1
File Download 취약점이 존재하는 웹 서비스입니다. flag.py를 다운로드 받으면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking
dreamhack.io
첨부파일의 압축을 풀었더니 또 압축된 파일이 나왔다
idel로는 열리지 않아 vs code로 열었다
if filename.find('..') != -1:
return render_template('upload_result.html', data='bad characters,,')
'..'일 경우 필터링.
하지만 절대경로나 우회는 필터링 안함
with open(f'{UPLOAD_DIR}/{filename}', 'wb') as f:
f.write(content)
filename = request.args.get('name', '')
with open(f'{UPLOAD_DIR}/{filename}', 'rb') as f:
data = f.read()
파일 저장, 파일 읽기 코드인데
UPLOAD_DIR 내에 저장되지만 위의 경로 조작으로 파일 읽기 가능
필터는 '..'만 막기에 '....'등으로 우회 가능.

문제 링크 뒤에 우회 주소를 붙여줌
http://host3.dreamhack.games:13027/read?name=....//....//flag.py

flag -> app로 변경도 해봤는데 안된다..
http://host3.dreamhack.games:13027/read?name=....//flag.py
얘도 안되고.. 어디있는거니 파일아
지금 주소 5개를 작성해봤는데
5개 다 안된다
2학년 문제2
Challenges/Web - Server : Directory traversal [Root Me : Hacking and Information Security learning platform]
www.root-me.org

카테고리에 따라서 주소 값의
root-me.org/web-serveur/ch15/ch15.php?galerie=actions
galerie 값이 변화함을 알 수 있다.
각 카테고리의 개발자 서버에서도 별다른 점을 찾지 못 해
아예 값을 지워 보았다

86hwnX2r이라는
기존 카테고리 5개 외의 카테고리가 생성된 것이 보인다
galerie에 86hwnX2r를 값으로 주었더니

password가 보인다
개발자 모드에서 보면, galerie/86hwnX2r/password.txt이라는
password가 담긴 경로를 알 수 있다

'swlug' 카테고리의 다른 글
| [3주차] 인터넷기업에서 기업구성원 자율중심의 보안관리 방안 연구 (0) | 2025.05.12 |
|---|---|
| [swlug] 3주차 프로젝트 과제 (0) | 2025.05.07 |
| [2주차] 프로젝트 과제 (0) | 2025.04.30 |
| A Survey on Adversarial Attacks and Defenses in Natural Language Processing (0) | 2025.04.30 |
| swlug 2학년_1학기_2주차_웹해킹_과제 (0) | 2025.04.02 |