본문 바로가기
정보보안/안드로이드해킹

안드로이드 모의해킹) 인자 전달값 조작

by _miiiiiin_zzang_ 2020. 12. 2.

사용자가 안드로이드 애플리케이션을 사용하기 위해 입력할 입력되는 파라미터값이 보호되지 않으면 공격자가 사용자의 입력값을 확인하여 정보를 수정해 악용 가능

palameter manipulation 파라미터 조작 취약점

안드로이드 애플리케이션에서 요청하는 값을 중간에서 가로챈 매개변수값을 변조하여 전송

본래의 요청값이 변조된 값으로 수정되고 민감한 정보가 포함된 요청이라면 정보 유출의 위험이 존재

 

1. 취약점 진단 과정

설정은 지난 포스팅에 적어 놨으니 그거 보고 참고

transfer 페이지에서 입력 버프스위트 확인하면 평문 전송되는 것 확인 가능

버프스위트에서 결제 금액인 마지막 값을 수정하여 forward 버튼 누르면 변경된 값이 입력될 것임

 

실제 입금된 돈은 18181818이지만 기록엔 100000 입력되어 있음을 확인 가능

사진 : 변조되어 보내진 이체 금액이 정상으로 보이는 것을 있음

CSRF 테스트 : 요청되는 값을 변조하여 보내는 공격 기법, 사용자가 특정 링크나 페이지에 접근했을 사용자도 모르게 요청값을 변조하여 서버에 전달하게 함으로써 중요 정보를 임의로 수정하게

비밀번호 변경 페이지에서 변경하는 버프스위트에서 가로채서 확인

%40 @

필요한 파라미터는 Host 값이 필요함

탈취한 정보로 HTML 파일을 만들어 실행

html 파일 생성법은 따로 적지 않겠음 그정돈 다하지 않나?(허세, 처음해봄)

html 파일 실행하면 이런 그림이고 제출 버튼을 누르면 비밀번호가 변경될 것임

역시 한번에 될리가 없지

포트 잘못됐음 8888 변경 저장 ~ 실행 ~

성공했다고

서버 로그 보면 비밀번호 변경된 확인 가능

아근데 여러분 펜트하우스 보셨나요 지금 보는데 미쳤네 너무 재밌네….안보는 사람 없게 해주세요 제발요

 

2. 취약점 대응 방안

  • 서버에서 입력값에 대한 검증을 하지 않고 암호화 과정이 없어 생기는 취약점임
  • 파라미터 조작은 가장 막기 어려운 취약점 하나임
  • 모든 입력값에 대한 유효성 검증을 서버에서 수행해야 하며 상태 정보나 민감한 데이터는 반드시 서버에서 검증하도록 해야함

댓글