외로운 Nova의 작업실
insecurebankv2 - 취약한 패스워드 변경 실행 본문
Mobile App Penetesting/Android App Vulnerability
insecurebankv2 - 취약한 패스워드 변경 실행
Nova_ 2023. 6. 5. 11:07- 취약점 소개
취약한 패스워드 변경 실행은 패스워드 변경 과정에서 발생하며, 개발자의 실수로 불필요한 로그를 남겨 패스워드를 노출하는 취약점 입니다.
- 취약점 진단
nox에서 비밀번호를 변경합니다. Nova@123$ -> Jack@123$
서버쪽에 비밀번호가 평문으로 남는 것을 확인할 수 있습니다. 또한 logcat을 하게되면,
핸드폰 자체의 로그에도 비밀번호가 평문으로 되는 것을 볼 수 있습니다. 이와 관련한 코드를 봐보겠습니다.
@app.route('/changepassword', methods=['POST'])
def changepassword():
#set accounts from the request
Responsemsg="fail"
newpassword=request.form['newpassword']
user=request.form['username']
print newpassword
u = User.query.filter(User.username == user).first() #checks for presence of user in the database
if not u:
Responsemsg="Error"
else:
Responsemsg="Change Password Successful"
u.password = newpassword
db_session.commit()
data = {"message" : Responsemsg}
print makejson(data)
return makejson(data)
'''
The function handles the transaction module
'''
print newpassword 구문으로 새로 변경한 비밀번호를 불필요하게 평문으로 남기고 있음을 볼 수 있습니다.
- 취약점 대응방안
로그 파일에 패스워드를 평문으로 저장하면 로그파일에 접근할 수 있는 사람 모두가 패스워드를 알아낼 수 있습니다. 따라서 높은 수준의 암호화알괴즘을 사용하여 패스워드를 관리해야하며 쉽게 접근할 수 없는 저장소나 암호화된 상태로 저장해야합니다.
'Mobile App Penetesting > Android App Vulnerability' 카테고리의 다른 글
insecurebankv2 - 개발자 백도어 (0) | 2023.06.04 |
---|---|
insecurebankv2 - 사용자 정보 목록 이슈화 (0) | 2023.06.03 |
insecurebankv2 - 하드코딩 보안 (2) | 2023.06.02 |
insecurebankv2 - 인자전달값 조작 (0) | 2023.06.01 |
insecurebankv2 - 안전하지 않은 HTTP 통신 (0) | 2023.05.29 |
Comments