일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드
- 모의해킹
- Lord of SQLInjection
- 호갱노노
- ADB
- 웹해킹
- 일기
- 블라인드 인젝션
- NOX
- APKManager
- SQL INJECTION
- 서울
- 부동산분석
- 월세
- 스마트폰
- 프리다
- Blind Injection
- 투자
- UnCrackable
- 매물
- 전세
- Los
- webhacking.kr
- 아파트실거래가
- Mid()
- Frida
- 아파트
- 후킹
- 부동산
- jeb
- Today
- Total
목록Blind Injection (6)
일단 쓰고보자
#문제 #문제 의도 - 입력 값 필터링 규칙 (pw) if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); if(preg_match('/sleep|benchmark/i', $_GET[pw])) exit("HeHe"); 1) prob 2) _ 3) . 4) () 5) sleep 6) benchmark - 목표 필터링을 사용하지 않거나 우회하여 쿼리 결과가 존재하면 해결 #확인사항 - 문제 코드를 잘 보면 여느 블라인드 인젝션과는 다르게 Hello admin, Hello guest 등 쿼리 결과에 따라 참/거짓을 판별할 수 있는 문구를 출력해주지 않아서 다른 방법을 찾아봐야 한다. 우선 의심 드는 부분은 1) Time based SQL In..
#문제 #문제 의도 - 입력 값 필터링 규칙 (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는 왜 추가됐는지 잘 모르겠다 ㅎㅎ... - 필터링 문자에 싱글쿼터(')나 더블쿼터(") 등 다 열려있..
#문제 #문제 의도 - 입력 값 필터링 규칙 (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) addsla..
#문제 #문제 의도 - 입력 값 필터링 규칙 (no) if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~"); if(preg_match('/\'|substr|ascii|=/i', $_GET[no])) exit("HeHe"); 1) prob 2) _ 3) . 4) () 5) 싱글쿼터(') 6) substr 7) ascii 8) = - 입력 값 필터링 규칙 (pw) if(preg_match('/\'/i', $_GET[pw])) exit("HeHe"); $_GET[pw] = addslashes($_GET[pw]); 1) 싱글쿼터(') 2) addslashes() 함수는 싱글쿼터('), 더블쿼터("), \, NULL 문자 입력 시 문자 앞에 \를 ..
#문제 #문제 의도 - 입력 값 필터링 규칙 (pw) // darkelf 문제와 동일 if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); if(preg_match('/or|and/i', $_GET[pw])) exit("HeHe"); 1) prob 2) _ 3) . 4) () 5) or 6) and - 목표 필터링을 사용하지 않거나 우회하여 쿼리 결과 id가 admin이면 해결 #확인사항 - prob, _ 문자는 테이블 접근하지 못하도록 걸어둔 것 같고, ()는 특정 함수 쓰지 못하게 걸어둔 것 같다. - where 절에서 항상 사용하는 or 와 and 문자가 필터링 되어있다. - 이 두 조건 연산자를 대신할 수 있는 방법을 알아보자. ..
#문제 #문제 의도 - 입력 값 필터링 규칙 (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() 함수를 적용하여, 나쁜 짓 못하게 막아뒀다...