본문 바로가기

전체 글20

[JAVA] BufferedReader와 BufferedWriter Java를 안 본지 한참 되었더니 자바 바보가 되었다. 본격적으로 코테 언어를 정하고 나서 자바를 보는데 나는 전에 Scanner만 써봤는데 코테는 버퍼 입출력을 쓰는게 좋다고 하더라. 귀동냥이라 정확하지 않음. BufferedReader와 BufferedWriter BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); 이렇게 선언해서 쓴다. 버퍼를 거쳐가기 때문에 더 빠르다. 흙을 파서 버리는데 매번 파고 버리고 파고 버리고 하는거보다 한번에 파서 한번에 들고 나르는게 더 효율적이라는 비유가.. 2021. 7. 21.
퍼징(fuzzing)에 관하여 fuzzing이란? 퍼즈 테스팅(Fuzz testing) 또는 퍼징 (fuzzing)은 (종종 자동화 또는 반자동화된) 소프트웨어 테스트 기법으로서, 컴퓨터 프로그램에 유효한, 예상치 않은 또는 무작위 데이터를 입력하는 것이다. 이후 프로그램은 충돌이나 빌트인 코드 검증의 실패, 잠재적인 메모리 누수 발견 등 같은 예외에 대한 감시가 이루어진다. 퍼징은 주로 소프트웨어나 컴퓨터 시스템들의 보안 문제를 테스트하기 위해 사용된다. 이것은 하드웨어나 소프트웨어 테스트를 위한 무작위 테스팅 형식이다. [출처 : 퍼징 - 위키백과] https://ko.wikipedia.org/wiki/%ED%8D%BC%EC%A7%95 퍼징 - 위키백과, 우리 모두의 백과사전 퍼즈 테스팅(Fuzz testing) 또는 퍼징 (fu.. 2021. 7. 20.
[프리다] FridaLab_challenge_04 문제 풀이 4번을 풀어보자. 4. Send "frida" to chall04() "frida"를 chall04()에 보내라고 한다. 우선 chall04 함수를 찾아보자. "uk.rossmarks.fridalab.MainActivity"에 있다. 보다시피 (String) str 값에 frida를 넣어주면 될 것 같다. 이 문자열 인자 값을 Frida 후킹을 통해 변조해보도록 하자. static이 없으므로 Java.choose()를 사용하면 된다. Java.choose("uk.rossmarks.fridalab.MainActivity",{ onMatch: function(chall_04){ chall_04.chall04("frida");//값 넣어주기 }, onComplete: function(){ console.log.. 2020. 11. 15.
[프리다] FridaLab_challenge_03 문제 풀이 3번! 3. Make chall03() return true chall03 함수를 찾아보았다. 역시 메인에는 true가 반환됐을 때 성공으로 돌리라는 코드가 있었고, 해당 함수 역시 "uk.rossmarks.fridalab.MainActivity"에서 찾아볼 수 있었다. .py로 페이로드를 작성해서 결과값을 true로 돌려보자. Java.use로 "uk.rossmarks.fridalab.MainActivity"를 가져온다음 chall03함수를 return true 하도록 변형해주면 된다. var chall_03 = Java.use("uk.rossmarks.fridalab.MainActivity"); chall_03.chall03.implementation = function(){ console.log(".. 2020. 11. 15.
[프리다] FridaLab_challenge_02 문제 풀이 2번 문제를 풀어보자. 2. Run chall02() chall02 함수는 "uk.rossmarks.fridalab.MainActivity"에서 찾을 수 있었다. 보다시피 public이 아닌 private 함수이다. 이걸 억지로 실행시켜 보자. Method가 static이 아닐 경우 매번 쓰던 Java.use()가 아닌 Java.choose()를 써야한다. - onMatch : 실시간으로 인스턴스에 대해 호출 - onComplete : function()의 모든 인스턴스가 열거될 때 호출 출처 : https://aboutsc.tistory.com/166 Java.choose("uk.rossmarks.fridalab.MainActivity", { onMatch: function(chall_02){ chal.. 2020. 11. 15.
[프리다] FridaLab_challenge_01 문제 풀이 rossmarks.uk/blog/fridalab/ FridaLab I was struggling with a recent test using frida, knowing it could do what I rossmarks.uk FridaLab 앱을 설치해준다. 녹스 앱 화면에 .apk 파일을 끌어다 놓기만 하면 자동으로 설치가 된다. 앱을 열면 아래와 같은 화면이 나온다. 아무것도 안하고 check를 누르면 1~8번이 빨간색으로 변한다. 아마도 성공 여부를 확인하는 것 같다. 그럼 이제 1번부터 해보자. 1. Change class challenge_01's variable 'chall01' to : 1 jadx-gui.bat 을 열어 FridaLab.apk 파일을 디컴파일하여 분석해보자. 문제에도 나와 .. 2020. 11. 15.