Insecurebankv2
1. 환경구축
여기서부터 너무 힘들었다. 구글링에 불신생겨~..
https://benkyoblog.tistory.com/8
InsecureBankv2 환경 구축
환경 구축우선… 파이썬 2.7 버전으로 진행해야 하기 때문에 맥북에서는 할 수가 없어서, 윈도우 노트북을 꺼내서 진행했다.. 파이썬 2로 처음에 갈아엎는 굉장히 바보 같은짓을 하다가, 다시 갈
benkyoblog.tistory.com
따라한 블로그
2. 풀이 과정
1) exported=true인 액티비티 분석
2) uname을 intent로 받아서 쓰는 경우가 많은데 전체적으로 다 검증을 안하고 실행하는 것을 발견
3. 찾은 취약점
1) Vulnerable Activity Components: 취약한 액티비티 컴포넌트
exported="true"되어있는 액티비티 중 로그인 이후의 기능이 있는 액티비티가 있었고, 그 액티비티를 다음과 같이 실행하면
이렇게 실행이 가능하다.
즉, 로그인하지 않아도 회원이 쓰는 기능을 쓸 수 있다.
2) intent Sniffing and Injection
1번과 이어지는 내용으로 uname이라는 키를 받아 postlogin이 실행되는데 여기서 intent injection을 통해 uname을 조작하여 전송하면
changePassword에 갔을 때 username이 jack이 된것을 확인할 수 있다.
jack으로 로그인이 된 것이다
3) Insecure Webview implementation webview
Viewstatement activity의 코드이다.
intent를 uname이라는 키로 받아와서 Statements_[uname].html 이렇게 파일이름을 지정하고, 뭔진 모르겠지만 new file()해서 그걸 system.out.printIn으로 출력을 한다.
아 Environment.~는 경로인가보다.
그게 존재하면 Webview를 생성하는데, file://Environment/filename하고 jsenabled하고 진행하는데, startActivity(gobacktoPostLogin)
음.,외부디렉토리에서 로드를 한다.
외부 디렉토리인 /sdcard에 내가 만든 html 파일을 "Statements_hello.html" 로 파일명을 지정해서 넣어줬다.
/storage/emulated/0도 가능한 것 같다.
setjavascriptenabled 코드 보고 xss라고 생각한 것 같은디...;;;;
4) insecure logging mechanism
5) insecure db
6) 하드코딩된 비밀
superSecurePassword,