일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- APKManager
- 호갱노노
- 안드로이드
- Blind Injection
- Frida
- 모의해킹
- Los
- 블라인드 인젝션
- webhacking.kr
- 부동산
- 프리다
- 투자
- jeb
- Lord of SQLInjection
- 매물
- 전세
- 서울
- 아파트
- 스마트폰
- 부동산분석
- NOX
- 일기
- 후킹
- Mid()
- ADB
- 웹해킹
- UnCrackable
- 월세
- SQL INJECTION
- 아파트실거래가
- Today
- Total
일단 쓰고보자
[los] orc 본문
#문제
#문제 의도
- 입력 값 필터링 규칙 (pw)
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
$_GET[pw] = addslashes($_GET[pw]);
1) prob
2) _
3) .
4) ()
5) addslashes() 함수는 싱글쿼터('), 더블쿼터("), \, NULL 문자 입력 시 문자 앞에 \를 붙여 일반 문자로 만든다.
- 목표
필터링을 사용하지 않거나 우회하여 admin의 pw를 알아내라.
#확인사항
- prob, _ 문자는 테이블 접근하지 못하도록 걸어둔 것 같고, ()는 특정 함수 쓰지 못하게 걸어둔 것 같다.
- 입력 받은 pw 값에 addslashes() 함수를 적용하여, 나쁜 짓 못하게 막아뒀다.
- 위에 쿼리 결과 id 값이 존재하는 경우 "Hello admin" 라는 문구를 띄워주는데, 관심 끄고 우리는 addslashes()를 우회해야 한다. 그러므로 멀티바이트에 대해 알아보자. → 가 아니고 "Hello admin" 문구를 통해 Blind Injection을 해야하는 문제이다.
- 처음에 addslashes() 우회한다고 삽질을 많이 했다.
- Blind Injection을 위한 기본 구문과 조건문 2가지
pw='123' or [조건문]#
1) length(pw)=n // n=[pw 문자열 길이]
2) ascii(substr(pw,n,1))=m // m=[pw n번째 문자의 ascii 코드]
※ 조건문이 참이라면 "Hello admin"을 출력해 줄 것이고, 거짓이면 아무것도 출력하지 않을 것이다.
※ 위 처럼 일부 노가다가 필요한 상황이 있으므로, 웹 프록시 도구 Burp Suite 기능인 Intruder를 이용하도록 하자.
- 근데, 이 쯤에서 주의해야할 점이 있다.
문자열 하나하나 구할 때 반드시 ascii() 함수를 활용해서 ASCII 값을 구하도록 하자.
나는 ascii(substr(pw,1,1))=48 구문을 사용하기 전에 substr(pw,1,1)=char(48) 와 같이 char() 함수를 사용한 구문을 사용했는데, 큰 실수였다. 처음에 패스워드 값이 "095A9852" 임을 알아내서 입력해보았는데, 도무지 클리어가 되지 않았다. 뭔가 함정이 있는 줄 알고 한참 찾았는데, 그게 아니라 Mysql은 대소문자 구분을 하지 않는다는걸 알게 됐다. 그래서 아래 두 조건 다 참이 나옴...
1) substr(pw,4,1)=char(65) // 대문자 'A'
2) substr(pw,4,1)=char(97) // 소문자 'a'
오 65 참이네? 하고 넘어가면 나중에 혼돈스러울 수도 있다. 확실하게 하려면 ascii 값으로 구하자.
- 정답은 095a9852
'모의해킹 > Lord of SQLInjection' 카테고리의 다른 글
[los] darkelf (0) | 2020.04.07 |
---|---|
[los] wolfman (0) | 2020.04.07 |
[los] goblin (0) | 2020.04.06 |
[los] cobolt (0) | 2020.04.03 |
[los] gremlin (0) | 2020.04.03 |