일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Burp suite
- xsstool
- OWASP
- Burp
- 워게임
- attack
- 취약점
- 루키즈
- xst
- hacking
- Android
- CSRF
- 특수대학원
- web
- paddingoracle
- crosssitescripting
- SK쉴더스
- wargame
- httpOnly
- 성균관대학교
- 드림핵
- extension
- reflected
- 대학원
- 쉴더스
- PADDING
- 웹 해킹
- bypass
- 정보보안
- XSS
- Today
- Total
목록hacking (4)
Why Always Me!
1. 계기평소 취약점 진단을 하면서 경험했던 케이스들을 공유하기 위해 문제를 만들기로 했습니다.팀 내에 교육 자료로도 사용할 수 있고, 나중에 PoC가 필요할 때 활용도 가능하지 않을까 싶기도 해서요. 기존 CTF 계열의 문제는 특정 웹 서비스라든지, VM을 통해서 전달이 되었는데 티오리라는 회사가 운영하는 드림핵에는 문제를 배포할 수 있는 기능을 제공해서 해당 플랫폼을 이용하기로 했습니다. 2. 컨셉문제 컨셉은 클라이언트 쪽 필터링을 우회할 수 있는가?로 잡았습니다.평소 진단을 하다보면 이 경우, 서버에서 클라이언트 필터링을 신뢰해서 문제가 발생하는 경우가 많습니다.공격자는 프록시 툴로 <를 그래서 암호화 로직을 추가했습니다.프록시에서는 암호분이 보일 뿐, 직접적인 수정은 할 수 없습니다. 공격..

1. 개요XST는 HTTP TRACE 메소드를 사용한 공격 방법으로 TRACE 메소드를 사용하면 사용자 요청이 응답 값에 포함되어 반환된다는 것을 이용하여 HttpOnly로 보호되고 있는 세션 및 주요 정보 등을 탈취할 수 있는 취약점입니다. 다만 TRACE 메소드는 대부분의 브라우저에서 지원하지 않기 때문에, TRACE 메소드가 활성화되어 있다고 하더라도 실제 XST가 발생하는 경우는 거의 없습니다. 2. XST 공격 원리세션에 HttpOnly가 설정되어 있으면 자바스크립트를 통해 세션에 접근할 수 없으므로, 서비스에 XSS 취약점이 존재한다 하더라도 세션을 탈취하기 굉장히 힘듭니다.하지만 서버에 요청을 보낼 때 요청에는 세션이 포함되어 있기 때문에, 요청 값을 탈취하게 되면 자동으로 세션 값을 얻을 ..

1. 개요Padding Oracle Attack은 서버에서 Padding의 유효 여부를 검증하고 그 결과를 반환할 때 발생하는 취약점으로, 공격자는 해당 취약점을 통해 암호문을 key 없이 복호화할 수 있습니다. 그후 공격자는 암호문을 복호화한 후 byte flipping 공격을 통해 암호문을 변조하여 접근 제어 우회, 권한 상승 등의 공격을 수행할 수 있습니다. 2. 사전 지식Padding Oracle Attack은 간단한 암호학적 지식이 필요합니다. 또한 XOR 동작 원리를 이해하고 있어야 합니다.2.1 CBCPadding Oracle Attack은 보통 CBC 모드에서 발생합니다.CBC는 운영모드 중 하나로, 블록 암호(DES, AES 등)를 이용하여 여러 크기의 데이터를 암호화할 때 사용하는 방식..

최근 android app을 진단하다 다음과 같이 검증 로직이 구현된 것을 확인했습니다. public static boolean a(String str) { if (str != null) { try { if (str.length() >= 1) { String host = new URL(str).getHost(); Pattern compile = Pattern.compile("[!@#$%^&*(),?\":{}|/]"); if (host.endsWith(".example.co.kr") || host.endsWith(".example.com")) { if (!compile.matcher(host).find()) { return true; } } } } catch (Exception e10) { a.b("Uti..