일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 | 31 |
- 스마트폰
- 아파트실거래가
- NOX
- 월세
- 부동산
- SQL INJECTION
- 서울
- 프리다
- 호갱노노
- 블라인드 인젝션
- Los
- 안드로이드
- jeb
- Blind Injection
- 모의해킹
- webhacking.kr
- Frida
- 일기
- APKManager
- Mid()
- 매물
- Lord of SQLInjection
- 부동산분석
- UnCrackable
- 후킹
- 투자
- 웹해킹
- 전세
- ADB
- 아파트
- Today
- Total
일단 쓰고보자
[los] xavis 본문
#문제
#문제 의도
- 입력 값 필터링 규칙 (pw)
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
if(preg_match('/regex|like/i', $_GET[pw])) exit("HeHe");
$_GET[pw] = addslashes($_GET[pw]);
1) prob
2) _
3) .
4) ()
5) regex
6) like
7) addslashes()
- 목표
필터링 우회하여 블라인드 인젝션을 통해 admin 패스워드를 알아내자
#확인사항
- 기본적으로 제한했던 문자 외 regex와 like가 추가되었는데, regex는 왜 추가됐는지 잘 모르겠다 ㅎㅎ...
- 필터링 문자에 싱글쿼터(')나 더블쿼터(") 등 다 열려있고 역시나 Blind Injection 문제다.
- 지금까지 풀었던 Blind Injection 문제처럼 풀고보니 아래 정보를 입수했다.
1) 길이는 12자
2) 각 문자는 ascii 값이 0 ※ ascii 값 0은 NULL문자
3) 위 단계에서 얻은 정보로 어떤 입력 값을 넣어도 틀림
- 위 부분에서 많이 막혀서 풀이를 참고했다. 가능할까 싶었지만 pw 값을 변수로 받아서 출력하는 방법이 있었다.
- 우선은 "select @[변수명]:=입력값" 구문이 필요한데, 이를 통해서 아래와 같이 응용해서 pw 값을 알아내보자.
※ pw=' or (select @a:=pw where id='admin') union select @a#
- 위에서 확인한 값으로 정답 입력
'모의해킹 > Lord of SQLInjection' 카테고리의 다른 글
[los] iron_golem (1) | 2020.05.15 |
---|---|
[los] dragon (0) | 2020.05.11 |
[los] nightmare (0) | 2020.04.10 |
[los] zombie_assassin (2) | 2020.04.10 |
[los] succubus (0) | 2020.04.08 |