일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 모의해킹
- Los
- 부동산분석
- Lord of SQLInjection
- 월세
- 후킹
- 웹해킹
- 전세
- 매물
- Frida
- 안드로이드
- ADB
- 일기
- jeb
- 아파트실거래가
- Blind Injection
- 서울
- 프리다
- 투자
- Mid()
- SQL INJECTION
- NOX
- 아파트
- 부동산
- 호갱노노
- 스마트폰
- UnCrackable
- 블라인드 인젝션
- APKManager
- webhacking.kr
- Today
- Total
일단 쓰고보자
[los] succubus 본문
#문제
#문제 의도
- 입력 값 필터링 규칙 (공통)
if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~");
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
if(preg_match('/\'/',$_GET[id])) exit("HeHe");
if(preg_match('/\'/',$_GET[pw])) exit("HeHe");
1) prob
2) _
3) .
4) ()
5) 싱글쿼터(')
- 목표
싱글쿼터(')를 우회하여 우회하여 쿼리 결과가 존재하면 해결
#확인사항
- prob, _ 문자는 테이블 접근하지 못하도록 걸어둔 것 같고, ()는 특정 함수 쓰지 못하게 걸어둔 것 같다.
- 드디어 싱글쿼터(')를 우회해야하는 문제가 나왔다. 이전 assassin 문제에서 어쩌다가 싱글쿼터(') 우회 방법 찾아본 게 도움이 됐다.
- addslashes() 함수는 싱글쿼터(') 입력 시 \' 처럼 \를 붙인 이스케이프 문자를 리턴한다. 이는 쿼리문에 영향을 주지 않는다. 이를 이용하면 아래처럼 2개의 파라미터에 존재하는 싱글쿼터(')를 유연하게 사용할 수 있게 된다.
1) 기존
id='123' and pw='123' // 정상적인 형태로 각각 id, pw 값이 구분되어 입력 됨
2) id 파라미터에 이스케이프 문자 입력
id='123\' and pw='123' // 파란색으로 표시된 부분 전체를 문자열로 인식함
3) 이스케이프 문자를 활용하여 구문 작성
id='123\' and pw=' or 1=1#
- 이번 문제는 정말 놀랍다. 인젝션의 활용도가 매우 넓어진 것 같다.
'모의해킹 > Lord of SQLInjection' 카테고리의 다른 글
[los] nightmare (0) | 2020.04.10 |
---|---|
[los] zombie_assassin (2) | 2020.04.10 |
[los] assassin (0) | 2020.04.08 |
[los] giant (0) | 2020.04.07 |
[los] bugbear (0) | 2020.04.07 |