이 글의 목적은 침투 테스트 경험이 부족한 초보자를 위한 몇 가지 테스트 아이디어를 제공하는 것입니다. 관련된 내용은 비교적 기본적일 수 있습니다. 사촌 여러분, 양해해 주시기 바랍니다. APK의 압축을 풀고 APK를 얻은 후 7-Zip을 사용하여 직접 압축을 풀면 여러 폴더, AndroidManifest.xml 파일 및 dex 파일을 얻을 수 있습니다. dex2jar https://sourceforge.net/projects/dex2jar/를 사용하여 이 dex 파일의 압축을 풀어 jar 파일을 생성한 다음 jd-gui를 사용하여 Java 소스 코드를 봅니다. 소스 코드를 보고 코드 취약점을 찾는 것이 가능하지만 난독화가 자주 발생하므로 여기서는 깊이 논의하지 않습니다. 위에서 언급한 xml 파일은 이전에 배포되어서는 안 됩니다. 여기에는 다음과 같은 많은 중요한 구성 항목이 포함됩니다. - android:debuggable은 AndroidManifest.xml 파일에서 true입니다. 앱은 임의로 디버깅할 수 있습니다. android: AllowBackup은 AndroidManifest.xml 파일에서 true입니다. 앱 데이터를 백업하고 내보낼 수 있습니다. - 잠깐만요... 실제 테스트에서 사용할 수 있는 또 다른 포인트가 있습니다: apk 압축을 푼 후 powershell에서 db 파일을 검색해 볼 수 있습니다. 민감한 정보가 있을 수 있습니다. ...)
for /r F:\source-code %i in (*.db) do echo %i
apk 보안 분석 및 탐지:
실험: apk 보안 분석 및 탐지(허티안 네트워크 보안 연구소)
apk 보안 분석 및 탐지 프로그램 실행 방법을 배우고 이를 사용하여 보안 분석을 수행하는 실험 apk 탐지 결과 잠재적인 위협이 드러났습니다. )
사용자 이름을 열거하는 가장 간단한 경우는 사용자 이름을 입력하고 로그인할 때 시스템에서 해당 사용자 이름이 존재하지 않는다고 응답하는 것입니다. 이번에 제가 접한 것은 로그인에는 비밀번호가 필요하지 않지만 등록된 사용자 이름을 입력해야 하며 동시에 사용자 이름을 기반으로 해당 휴대폰으로 인증 코드가 전송되도록 설정되어 있다는 것입니다. 120초 이내에는 재전송이 불가능하며, 인증코드는 120초 동안 유효합니다. 현재는 인증번호로는 아무것도 할 수 없는 것 같은데, 실제 테스트 과정에서 1. 기존 계정에 들어가면 전송이 성공했다는 메시지가 나오는 것을 확인했습니다. 3. Enter 사용자가 없으면 전송이 실패했다는 메시지가 표시됩니다. 시간 제한이 설정되어 있더라도 사용자 이름 열거는 서버에서 반환된 정보를 기반으로 하여 폭발을 통해 사용자 이름이 존재하는지 여부를 계속 확인할 수 있습니다.
잠깐만 저희는 휴대폰 번호도 모르고, 로그인할 때 비밀번호도 입력할 수 없기 때문에, 소셜 엔지니어링 사전을 생성하기 위해 사용자 이름을 얻어도 로그인이 되지 않습니다. 그렇다면 사용자 이름을 얻는 것이 무슨 소용이 있습니까? 물론 유용하지만 특정 시나리오에 따라 다릅니다. 예를 들어 다음과 같은 경우에는 모든 인증 코드를 우회할 수 있습니다. 로그인하면 서버에서 계정에 연결된 휴대폰 번호로 SMS 인증 코드를 보냅니다. . 전단계에서 얻은 계좌번호를 입력하고 인증코드를 무심코 입력해봅니다. 로그인을 클릭하니 로그인에 실패했습니다.
변경해 보세요. :
작동합니다!
인증 코드 우회 취약점:
실험: 인증 코드 우회 취약점 극복
(일반적인 인증 코드 우회 취약점의 원칙과 우회 방법 및 취약점 보호 방법 숙지)
이후 기능 페이지에 성공적으로 로그인한 후 각 기능을 클릭하세요. 개인정보 페이지에 실시간 접속자 수를 조회하는 기능이 있는데, 해당 항목에는 인원수만 표시되고 옆에는 화살표가 없습니다.
한동안 클릭하면 안되는 줄 알았는데(사실 데이터 양이 너무 많아서 로딩 시간이 오래 걸려서 그냥 뒤로가기 눌렀더니 느낌(아무것도 없습니다.) 입력 후 로그인한 모든 사람들의 정보를 볼 수 있습니다.
다른 사용자를 시도한 결과 여기의 사용자 정보에는 권한 제한이 없다는 것을 발견했습니다. 즉, 모든 사람에게 표시되며 권한이 분명히 부적절하게 구성되어 있음을 의미합니다. 앱에는 여러 쿼리 기능도 있으며 BURP 도구는 반환된 패킷이 모두 JSON 형식임을 보여줍니다.
JSON을 삽입하고 경험이 많지 않기 때문에 모든 곳에서 XXE를 시도했지만 아무 소용이 없었습니다. 앞에 또 다른 매개변수가 있습니다. 시도해 보시겠습니까?
드라마가 있어요!
Try xss
브라우저에 넣으면 팝업창이 성공합니다!
위 내용은 승인된 APK 침투 테스트를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!