Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- NOX
- Mid()
- 아파트
- Blind Injection
- 스마트폰
- ADB
- jeb
- 매물
- Lord of SQLInjection
- SQL INJECTION
- 서울
- Los
- UnCrackable
- 일기
- 모의해킹
- 프리다
- 블라인드 인젝션
- 안드로이드
- APKManager
- 후킹
- 웹해킹
- 아파트실거래가
- 부동산분석
- Frida
- 부동산
- 전세
- 월세
- 호갱노노
- webhacking.kr
- 투자
Archives
- Today
- Total
일단 쓰고보자
[los] wolfman 본문
#문제
#문제 의도
- 입력 값 필터링 규칙 (pw)
if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~");
if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~");
1) prob
2) _
3) .
4) ()
5) 공백
- 목표
필터링을 사용하지 않거나 우회하여 쿼리 결과 id가 admin이면 해결
#확인사항
- prob, _ 문자는 테이블 접근하지 못하도록 걸어둔 것 같고, ()는 특정 함수 쓰지 못하게 걸어둔 것 같다.
- 필터링 문자에 싱글쿼터(')나 더블쿼터(") 등 다 열려있어서 기본 구문으로 해결할 수 있을 것이다.
- 하지만 입력 구문 어디에나 들어가는 공백이 필터링 되어있어, 조금 당황스러울 수 있다.
- 공백을 대체할 수 있는 문자를 알아보자.
1) %09 // tab
2) %0a // line feed
3) %0b // vertical tab
4) %0c // form feed
5) %0d // carriage return
6) /**/ // 주석
7) () // 괄호 → 사용법이 조금 다름, 아래 참고
pw=123'or(id='admin')#
8) 더하기(+) → 공백과 동일하게 취급하여 필터링 됨
#참고
- concat() 함수와 space() 함수 → 활용 방법에 대해서는 더 연구해봐야할 것 같다.
concat('te', space(1), 'st') = 'te st'
'모의해킹 > Lord of SQLInjection' 카테고리의 다른 글
[los] orge (0) | 2020.04.07 |
---|---|
[los] darkelf (0) | 2020.04.07 |
[los] orc (0) | 2020.04.06 |
[los] goblin (0) | 2020.04.06 |
[los] cobolt (0) | 2020.04.03 |