일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 취약점분석
- load of sqlinjection
- 해킹도구
- CTF
- 권한상승
- 메타스플로잇
- Los
- Kioptrix
- 모의해킹
- sql
- smb
- 해킹툴
- SQL Injection
- 취약점 스캔
- Samba
- web hacking
- SQLINJECTION
- 시스템 해킹
- 스캔
- 내부침투
- 스캐닝
- 포트스캔
- 침투테스트
- root권한
- 칼리리눅스
- Hacking
- 해킹
- 암호해독
- 취약점
- Metasploit
- Today
- Total
목록sql (4)
감자 텃밭
SQL Injection 공격을 을 수행하다 보면 공격자로부터 WebApplication을 보호하기 위해 수많은 보호기법 및 필터링이 적용되어 있다. 이러한 필터링에 대해 적절한 유효성 검사를 하지 않는다면, 공격자는 손쉽게 적용된 필터링을 우회하여 WAS에게 악의적인 질의를 통해 Database의 정보를 유출하거나, 시스템상의 피해를 입힐 것이다. SQL 인젝션에 적용된 필터링에 대한 적절한 우회기법에 대해 정리해자. SQL Injection을 학습 해가며, 알게 된 정보들을 추가하고 있으며, 계속해서 새롭게 알게 된다면 지속적으로 추가할 것이다. 공격을 알아야 방어를 안다. 1. 주석을 통한 우회 # (URI 부분에서 SQL Query를 전달할 경우 %23으로 url 인코딩을 통해 전달해야 한다. U..
21단계 = iron_golem 소스코드 해당 소스코드를 보면 이전문제와 다르게 추가적으로 적용된 필터링으로는 sleep, benchmark가 필터링되어 있다. 이는 Time based SQL Injection은 불가능하게 하기 위함으로 추측된다. 이번문제는 참값을 입력해도 참 거짓이 구분이 되지 않는다. 이럴 경우 사용할 수 있는 게 1. Time Based SQL Injection 2. Error Based SQL Injection 두 종류의 인젝션을 사용할 수 있는데 필터에서도 보았듯이 1번 해결법 Time Based SQL Injection은 사용불가다. 코드를 자세히 보면 즉 에러가 발생 시 에러페이지를 출력시켜 준다. 2번 해결법인 Error Based SQL Injection을 사용하면 될 ..
19단계 = xvais 소스코드 이번문제에서는 이상하리만큼 필터링되는 게 없으며, regex와 like가 필터링되고 있다. 이번 문제의 의도를 파악하기 힘든부분이었으며, 해당 문제에서 많은 걸 배우게 되었다. 우선 기존문제들과 동일하게 입력값과 db저장된값을 비교하므로, Blind SQL Injection을 이요하면 될 것이다. 정상적으로 구해지는 거 같은데 불안한 기분이 맴돌았다.. 늘 그래왔듯 패스워드길이와 문자열을 추출하기위해 파이썬코드를 작성하여 추출하려 시도하였지만 패스워드의 길이는 12자리인 걸 확인 후 문자열이 구해지지 않았다.... 우선 패스워드의 길이는 12자리였다. 파이썬 코드의 오류인가 싶어 아무리봐도 오류코드를 찾지 못하여 직접 URL로 값을 확인해본 결과 필터도 걸려있지 않는데 A..
12단계 = DARKKNIGHT 소스코드 이번문제에서는 넘겨줘야 할 파라미터값이 pw, no 두 가지로 보인다. 필터링되는 값을 확인해보면 pw 파라미터에서 '을 필터링하며, no파라미터에서 ', substr, ascii, = 를 필터링하고 있다. 이전 문제에서 사용한 것들을 잘 조합해서 사용하면 무난하게 우회가 가능할 거 같다. 우선 '를 필터링하여 문자열을 필터링하고 있다. 이럴 경우 id = 'admin'이 안되지만, My SQL에서는 아스키코드값인 16진수로 표현할 경우 문자열로 인식이 가능하다. 또한 no에서의 substr은 substrin(), mid() , left(), light()등 다양한 함수로 우회가 가능하다. ascii()는 ord(), hex()등으로 우회가 가능하다. =은 이제 ..