Treasure exploit 분석
2022. 8. 29. 18:36
Security/Smart Contract
2022년 3월 Treasure라는 NFT 거래 플랫폼이 공격받았습니다. 해당 취약점에 대해서 알아보겠습니다. 해당 프로젝트는 Arbitrum 체인 상에서 동작하며 실제 공격이 이뤄진 트랜잭션은 아래와 같습니다. https://arbiscan.io/tx/0x82a5ff772c186fb3f62bf9a8461aeadd8ea0904025c3330a4d247822ff34bc02 Arbitrum Transaction Hash (Txhash) Details | Arbiscan Arbitrum (ETH) detailed transaction info for txhash 0x82a5ff772c186fb3f62bf9a8461aeadd8ea0904025c3330a4d247822ff34bc02. The transaction..
Multichain exploit 분석
2022. 8. 29. 14:44
Security/Smart Contract
2022년 1월 발생한 Multichain exploit분석자료입니다. 해당 사건에 대한 post mortem은 아래 링크에서 확인하실 수 있습니다. https://medium.com/multichainorg/multichain-contract-vulnerability-post-mortem-d37bfab237c8 Multichain Contract Vulnerability Post Mortem On January 10, 2022, we were alerted to two critical vulnerabilities with the Multichain liquidity pool contract and router contract by… medium.com https://etherscan.io/tx/0xe5..
[Unhacked CTF] reaper write-up
2022. 8. 26. 17:25
Security/Smart Contract
최근 Web 3.0의 워게임들이 많이 늘어나고 있는 추세입니다. 얼마전 열렸던 paradigm CTF과 같이 Web 3.0 환경을 대상으로만 하는 대회도 점차 늘고 있습니다. 이번 주에 처음으로 공개된 Unhacked CTF의 문제를 함께 풀어보겠습니다. Unhacked CTF unhacked CTF는 매주 문제가 공개되는 CTF로 일반적인 CTF형식은 아니며 일종의 워게임의 형식을 띄고 있습니다. 실제 리얼월드에서 exploit 되었던 프로젝트의 코드를 제공하며 해당 코드를 분석해보고 실제 포크된 환경에서 exploit을 진행해보는 식으로 문제를 풀이하게 됩니다. 이번주에 첫 문제가 공개되었고 해당 문제의 링크를 통해 확인할 수 있습니다. 개인적으로 굉장히 흥미로운 형태의 CTF이며 과연 이런 퀄리티의..
[Smart Contract 취약점] 초기 진입자가 다른 유저의 자금 탈취가 가능한 경우
2022. 8. 2. 22:54
Security/Smart Contract
개요 꽤 잦은 빈도로 보이는 유형의 취약점이다. 주로 DEFI 프로젝트에서 발견되고 정확히 어떻게 피해가 발생되고 원인은 무엇인지 알고 테스트를 통해 실제 공격은 어떻게 이루어지는지 알아보고자 한다. 문제의 식 여러 DEFI 프로젝트를 보다보니 staking 토큰을 분배하는 식이 아래와 같이 설정되어있는 경우가 많았다. DEFI의 LP 토큰을 분배하는 데에도 사용된다. (Uniswap v1에서 사용되었다.) 앞전에 분석했던 인절미의 경우도 해당 식을 사용하고 있다. 해당 식을 분석해보자. PENG 토큰이 있고 해당 토큰을 스테이킹하면 그 지분을 증명하는 뜻으로 sPENG이 발행된다고 가정해보자. 그렇다면 PENG 토큰을 스테이킹 했을 때 받을 수 있는 sPENG의 계산은 이렇다. 스테이킹 할 PENG 수..
[카카오뱅크 청년 전세자금 대출 거절] 전세는 어렵다.. 몇 일간 마음 졸이며 알게 된 것
2022. 7. 28. 01:21
Memoir
청년전세대출을 받아서 전세를 구하려 한다면 꼭 봤으면 하는 이야기들을 해보려고 한다. 먼저 청년전세대출은 주로 카카오뱅크나 케이뱅크에서 많이 진행하는 것 같다. 무직자, 무소득도 된다고해서 대학생들이 자취를 하기위해 꽤 사용하는 듯 하다. 먼저 방을 본 뒤 부동산에서는 가계약을 해서 다른사람이 못 가져가게 해야한다고 하는 경우가 많다. 이때 불안한 마음에 덥석 해버리면 나중에 후회하는 상황이 올지도 모른다. 보통 빠르게 가계약을 하기 위해서 대부분의 부동산에서 던지는 말인 것 같다. 가계약금을 입금 한 뒤에 단순 변심에 의해 계약을 취소하려는 경우 가계약금을 포기해야하기 때문에 신중히 생각해야 한다. 아래에 해당하는 사항들이 충족되는지 보고 하길 바란다. 먼저 해당 매물의 매매기준 실거래가를 확인한다. ..
[Web3 용어정리] DEX, Automated Market Maker(AMM)에 대해 알아보자
2022. 7. 25. 00:32
Web3
먼저 AMM은 Automated Market Maker의 약자에요. 풀어보면 자동화된 Market Maker인데 Market Maker가 무엇인지 알아야겠죠?? Market Maker 주식이나 가상화폐 거래를 해보신 분이라면 한번쯤 보셨을 호가창이에요. 아래쪽의 초록색 가격이 구매를 원하는 가격이고 위의 빨간색 가격이 판매를 원하는 가격이에요. 이런식으로 구매나 판매를 하고싶은 가격을 지정해서 주문하는 것을 Maker (지정가) 주문이라고 해요. 반대로 구매 가격이나 판매 가격을 정하지 않고 현재 가격에 거래하는 것을 Taker (시장가) 주문이라고 해요. 이렇게 Maker를 Market Maker 또는 줄여서 MM이라고도 부른답니다. 시장의 유동성 정상적으로 거래가 이루어지기 위해서는 Maker의 역할..
[2022-06-10] 일일 회고
2022. 6. 10. 22:38
Memoir
두갈래 길 지난 1년간 나의 꿈은 멋진 앱 개발자가 되는 것이었다. 안드로이드에 대해서 깊게 배우면서 꿈을 키워나갔다. 물론 앱 개발을 하면서도 보안에 대해서 손을 떼지 않고 모바일 취약점 분석에 대해서 알아가고 있었다. 수년간 해온 보안을 완전 포기하기란 쉽지 않았다. 블록체인은 나의 곁에 수 년간 함께 했다. 점차 블록체인 산업이 발전함에 따라 자연스레 보안에 대한 얘기도 점점 많이 들려왔다. 어쩌면 내가 시스템 해킹을 포기한 이유가 진입이 늦어서라고 핑계를 대곤 했었는데, 이번엔 이게 기회일까 싶었다. 그렇게 집에와서 솔리디티에 대해서 보기 시작했다. 수많은 언어를 경험해보았기에 기본적인 문법을 이해하는 것은 크게 문제 되지 않았다. 생각보다 흥미로웠고, 이게 내 길인가 싶었다. 스마트 컨트랙트가 ..
Ethernaut 정리
2022. 6. 3. 21:23
Security/Smart Contract
CoinFlip 완전한 랜덤을 구하는 법은 없으며 직접 구현하려 하지 말고 널리사용되고 있는 랜덤 생성 방법을 사용할 것. Telephone tx.origin은 트랜젝션을 시작한 사람의 주소가 담겨있음. msg.sender에는 함수를 call 한 주소가 담겨있음. function transfer(address _to, uint _value) { tokens[tx.origin] -= _value; tokens[_to] += _value; } 이런식으로 transfer를 구현하는 경우 피싱 컨트랙트를 만들 수 있음. function () payable { token.transfer(attackerAddress, 10000); } 이런 형태의 피싱 컨트랙트를 공격자가 만들고 해당 컨트랙트로 입금을 하도록 유도..
구글 클라우드 플랫폼 GCP 서버 무료로 이용하기
2022. 4. 26. 12:53
Develop
구글 클라우드 플랫폼에서는 무료 크레딧과 무료 등급이 있습니다. 구글에 검색하면 관련자료가 많이 나오나 대부분 오래된 정보이고 정책이 변경된 사항들이 있어 최신 정보를 알려드립니다. https://cloud.google.com/free/docs/gcp-free-tier/#compute Google Cloud 무료 프로그램 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 Google Cloud 무료 프로그램 Google Cloud의 기본사항을 알아보려는 신규 사용자이거나 신제품의 혁신적인 기능을 체험 cloud.google.com GCP에서는 무료 크레딧과 무료 등급이 있습니다. GCP를 사용한 적이 없다면 300$ (90일 유효기간)..
[Kotlin, Android Studio] 삽질 방지 오류 해결 방법 모음
2022. 3. 14. 16:15
Develop/Kotlin
socket.io-client를 이용해서 소켓 클라이언트 기능을 구현할때, 네트워크 설정이 정상임에도 connect()가 동작하지 않는 경우가 있다. 또는 직접 만든 백엔드 서버와 통신시 데이터 전송이나 수신이 안되는 경우. http를 이용하는 경우. manifest의 application태그 안에 android:usesCleartextTraffic="true"를 추가해주면 된다. 안드로이드 에뮬레이터에서 localhost를 접근하고 싶을 때. 127.0.0.1가 아닌 10.0.0.2로 접근해야한다. 커스텀 위젯을 만들 때 radius가 있는 레이아웃을 원하는 경우, radius라는 xml을 만들어서 background로 적용하게되는데 이때 resources.getDrawable이 deprecated가 ..
[Android] Application 개발 및 분석에 유용한 웹사이트 모음
2022. 2. 28. 16:47
Develop/Android
안드로이드 디벨로퍼 안드로이드 개발자를 위해 구글에서 제공하는 공식 문서. 안드로이드 라이브러리에 대한 전반적인 내용, 구현에 대한 기본적인 예제들을 제공. 업데이트된 소식들도 찾아볼 수 있음. 각 문서들은 영어로 먼저 업데이트 되기 때문에 영어로 설정해서 보는 것이 좋다. Android 개발자 | Android Developers Android 앱 개발자를 위한 공식 사이트입니다. Android SDK 도구 및 API 문서를 제공합니다. developer.android.com 코틀린 언어 공식 문서 코틀린에 대한 공식문서. 코루틴 같이 코틀린에서 사용할 수 있는 feature들에 대해 안드로이드 공식문서 보다 자세한 설명이 되어있다. Get started with Kotlin | Kotlin kotli..
오픈소스 contribute 기록 - notepad++
2022. 2. 22. 09:35
Develop
사실 해당 crash는 무려 2년전 부터 존재했다. 아니 2년전에야 내가 발견했다. Crash의 원인은 이렇다. UDL(User Defined Language)가 생성되면, 배열에 담기게 된다. 해당 배열의 크기는 30으로 고정되어 있다. 이때 생성될 때마다 다음 UDL이 들어갈 배열의 index 변수인 NBUserLang에 1을 더해준다. 이때 문제는 NBUserLang이 index의 역할을 하고 있기 때문에 UDL배열의 크기인 30보다 작아야만 한다. 하지만 1을 더할 때 해당 부분에 대한 체크가 없었다. 따라서 UDL을 30개 이상 생성하게 되면 NBUserLang은 30이되고, UDL배열의 30번째 인덱스를 접근하게 되면서 crash가 발생한다. 해당 현상을 발견하고, HackerOne에 제보했으..
[Kotlin Coroutines] 코루틴 완전 정복 #1 개요, 코루틴의 특징
2021. 11. 26. 22:36
Develop/Kotlin
Coroutines(코루틴)은 코틀린의 강력한 기능중의 하나로 많은 앱들에서 사용되고 있는 핵심 기술중 하나다. 얼마나 멋진 기능이길래 많은 사랑을 받고 있는지 한번 깊게 알아보자. 🤷♂️ 왜 이름이 코루틴일까? 나 또한 그랬지만 종종 코틀린의 '코' 자를 따서 코루틴인줄 착각하는 경우가 있다. 스펠링을 보면 알겠지만 'Ko'가 아닌 'Co'다. 흔히 협동 모드를 'Co-op'이라고 하듯 협동, 협업의 의미인 'Co'를 사용한다. 직역하면 협동하는 루틴들인데, 아직은 와닿지 않으니 조금씩 알아가보자. 여담으로 코루틴은 1958년 멜빈 콘웨이가 용어를 만들었고 어셈블리 프로그래밍에 적용했다고 한다. (위키백과) (굉장히 오래된 개념이다..) 공식문서에 소개된 코루틴의 특징들에 대해 알아보자. 🐱🏍 가볍..
[Kotlin] 안드로이드 개발자 기술 면접 정리
2021. 11. 14. 18:44
Develop/Kotlin
Array와 List의 차이 Array의 경우 고전적인 의미의 배열이며, 고정된 사이즈의 연속된 메모리 공간에 할당된다. 따라서 인덱스를 통해 값을 변경하는 것이 가능하며(mutable), 사이즈를 변경하는 것이 불가능 하다. List의 경우 크게 List와 MutableList가 있는데, ArrayList또는 LinkedList의 구현체다. Default로는 ArrayList의 구현체를 따른다. 이름에서도 볼 수 있듯이 List는 Immutable이며 MutableList는 Mutable이다. 성능이 중요시 되는 부분을 제외하고는 List를 쓰는것이 바람직 하다. 참고 : https://stackoverflow.com/a/36263748 Context 란? Context는 Application의 글로벌..
[Spring Boot] CORS 설정하기
2021. 10. 6. 23:12
Develop/Spring
CORS란? (Cross-Origin Resource Sharing,CORS) 란 다른 출처의 자원을 공유할 수 있도록 설정하는 권한 체제를 말합니다. 따라서 CORS를 설정해주지 않거나 제대로 설정하지 않은 경우, 원하는대로 리소스를 공유하지 못하게 됩니다. 위의 사진처럼 CORS에러가 발생하게 됩니다. 이를 Spring에서 해결하는 방법에 대해서 알아보겠습니다. Configuration으로 해결하기 이 방법은 Global하게 적용하는 방법입니다. 우선 config패키지를 만들어 줍니다. 경로는 /src/main/java/{project}/config 만들어진 config패키지 안에 WebConfig클래스를 만들어줍니다. @Configuration public class WebConfig impleme..
[장기투자일기] #2 이더리움 장기투자 전략
2021. 9. 27. 10:10
Investment
[장기투자일기] #1 왜 이더리움 장기투자를 선택했는가 #2 이더리움 장기투자 전략 국내 vs 해외 거래소 이 부분에 대해서는 많은 고민이 있었다. (2021-09-25) 기준 특금법 유예기간이 종료되고 해외거래소에 대한 제제가 시작되면서 해외거래소를 완전히 사용하지 못하는 것 아닌가 하는 생각이 있었기 때문이다. 그러면 그냥 국내 거래소를 사용하면 되는거 아니냐 할 수 있겠지만, 이더리움을 선택한 이유중 하나인 스테이킹이 국내에서는 쉽지 않다. 현재 4대거래소인 업비트, 빗썸, 코인원, 코빗의 스테이킹 현황은 다음과 같다. 업비트 : 스테이킹 서비스 없음 빗썸 : 이더리움 2.0 스테이킹 서비스가 있으나 진행중이지 않은 듯 보임 코인원 : 이더리움은 스테이킹 서비스가 없음 코빗 : 일정 주기로 스테이킹..
[장기투자일기] #1 왜 이더리움 장기투자를 선택했는가
2021. 9. 25. 20:18
Investment
[장기투자일기] #1 왜 이더리움 장기투자를 선택했는가 #2 이더리움 장기투자 전략 I'm a bitcoiner 760% (2021-09-25)현재 기준 이더리움의 지난 1년간 상승률이다. 비트코인의 반감기 이후 모든 가상자산들이 큰 폭으로 상승했고, 2018년과 같은 큰 조정을 받지 않았다고 해도 고점 대비 36%가 떨어진 걸 감안하면 대단한 상승률이다. 왜 장기투자 인가 주식이던 코인이던 내일 상승할 것인지 하락할 것인지 정학히 예측할 수 있는 사람은 없다. 따라서 투자는 대응의 영역이다 라고 말하는 사람도 있다. 즉 단타와 같은 방법으로 돈을 버는 사람은 많은 투자 경험을 통해 쌓은 대응 실력이 뛰어나거나 재능이 있거나 둘중 하나일 것이다. 우선 나는 재능이 없는 것 같고, 마음도 약하다. 현물 포..
Kotlin 공식문서 둘러보기 #1 코틀린의 장점, 기본 문법
2021. 9. 6. 15:36
Develop/Kotlin
Android 개발에 있어 Kotlin의 장점 코드가 짧으며 가독성이 좋다 다른 사람들이 이해하기 쉽도록 코드를 작성할 때 시간이 단축됩니다. 2011년 Kotlin이 공개된 이후 언어자체와 생태계가 함께 지속적으로 개발되고있다 예를들어 안드로이드 스튜디오가 있습니다. Android Jetpack과 다른 라이브러리들을 지원한다 coroutines, extension functions, lambdas. named parameters 등을 지원합니다 Java와 호환이 된다. 따라서 기존 어플리케이션을 모두 Kotlin으로 바꿀 필요가 없습니다 multiplatform 개발이 가능하다. Kotlin을 이용해서 안드로이드 뿐만아니라 IOS개발, backend, web 어플리케이션을 제작할 수 있습니다 안전한 코..
[안드로이드 개발자 가이드] 앱 기본 요소
2021. 8. 23. 15:07
Develop/Kotlin
안드로이드 개발자 가이드는 Android Developers의 문서들을 보고 이해한 내용을 바탕으로 작성한 글입니다. 원문: https://developer.android.com/guide/components/fundamentals?hl=ko 들어가며 Android 앱의 모든 구성요소가 포함된 압축파일로 앱 설치시 사용됩니다. 각각의 앱은 샌드박스화 되어있는데, 상세사항은 다음과 같습니다. Android의 시스템은 Linux 멀티유저 시스템과 같고 각각의 앱은 하나의 유저로 볼 수 있습니다. 시스템은 각각의 앱에 고유한 Linux ID를 부여하고, 앱에 포함된 모든 파일은 해당 ID의 권한을 가진 유저만 액세스가 가능합니다. 각 프로세스는 자체적인 VM이 있고, 각 앱은 서로 격리된 상태로 실행됩니다. ..
[번역] LiveData를 이용한 snakbar, 네비게이션 등 이벤트 처리
2021. 8. 2. 14:24
Develop/Kotlin
의역 및 오역이 있을 수 있습니다. 원본 글: https://medium.com/androiddevelopers/livedata-with-snackbar-navigation-and-other-events-the-singleliveevent-case-ac2622673150 서론 View(Activity 또는 Fragment)와 ViewModel이 데이터를 주고받기 위한 방식으로 LiveData를 주로 이용합니다. View에서 LiveData를 subscribe하여 LiveData에 변화가 일어나면 반응합니다. 이런 방식은 화면에 지속적으로 표시되는 데이터들에서는 잘 동작합니다. 하지만 Snackbar 메세지나 네비게이션 이벤트, dialog 표시 등과 같이 한번만 발생되는 이벤트들도 있습니다. 이러한 이벤..
[#8 채팅기능 구현하기] 환경 구축부터 스토어 출시까지 디데이 앱 따라 만들며 배우는 React Native
2020. 11. 27. 12:50
Develop/React-Native
리액트 네이티브 튜토리얼 [#1 리액트 네이티브 맛보기] [#2 Component와 메인화면 분할] [#3 레이아웃 구성하기] [#4 레이아웃 구현 마무리하기] [#5 state] [#6 설정 Modal 만들기] [#7 설정 Modal 기능 추가하기] [#8(구현 끝) 채팅기능 구현하기] 드디어 기능구현의 마지막인 채팅기능을 구현하게됩니다. 새로 이용하는 개념은 별로 없고 이전에 사용했던 asyncstorage를 이용해서 구현합니다. // App.js export default class App extends React.Component { constructor(props) { super(props); this.state = { dday: new Date(), ddayTitle: '', chatInput..
[#7 설정 Modal 기능 추가하기] 환경 구축부터 스토어 출시까지 디데이 앱 따라 만들며 배우는 React Native
2020. 11. 17. 13:56
Develop/React-Native
리액트 네이티브 튜토리얼 [#1 리액트 네이티브 맛보기] [#2 Component와 메인화면 분할] [#3 레이아웃 구성하기] [#4 레이아웃 구현 마무리하기] [#5 state] [#6 설정 Modal 만들기] [#7 설정 Modal 기능 추가하기] [#8(구현 끝) 채팅기능 구현하기] 이번 글에서는 설정 모달의 기능들을 구현해보겠습니다. 가장 먼저 모달 외부를 눌렀을 때, 모달창이 닫히게 해보겠습니다. //App.js export default class App extends React.Component { constructor(props) { super(props); this.state = { dday: new Date(), ddayTitle: '테스트 디데이', chatLog: [], settin..
[#6 설정 Modal 만들기] 환경 구축부터 스토어 출시까지 디데이 앱 따라 만들며 배우는 React Native
2020. 11. 15. 13:39
Develop/React-Native
리액트 네이티브 튜토리얼 [#1 리액트 네이티브 맛보기] [#2 Component와 메인화면 분할] [#3 레이아웃 구성하기] [#4 레이아웃 구현 마무리하기] [#5 state] [#6 설정 Modal 만들기] [#7 설정 Modal 기능 추가하기] [#8(구현 끝) 채팅기능 구현하기] 이번시간에는 설정 버튼을 눌렀을 때, 디데이 제목과 날짜를 설정할 수 있는 모달창을 만들어 보겠습니다. 먼저 Setting컴포넌트를 만들기 위해 새로운 js파일을 생성할 거에요. App.js가 있는 프로젝트 폴더에 Setting.js를 생성해주세요. //Setting.js import React from 'react'; import {View, StyleSheet, Text, TextInput, TouchableOpac..
[Pwnable 기초] Buffer Overflow취약점과 쉘코드
2020. 11. 10. 16:29
Security/Pwnable
간단한 예시를 통해 버퍼오버플로우에 대해서 알아보겠습니다. 소스코드 다운로드 : wget https://raw.githubusercontent.com/ICEB3AR/2020_Whois_Pwnable/main/week1/bof_poc.c 컴파일 : gcc -fno-stack-protector -no-pie -z execstack -o bof_poc bof_poc.c name이라는 char형 10byte배열과 target이라는 int형 변수가 선언되어있습니다. 코드상에서 target값은 0으로 초기화 되었고 이후에 수정되는 부분이 없기 때문에 0에서 바뀌지 않아야 합니다. scanf를 호출할 때 포맷스트링이 "%s"입니다. "%s"는 '\n','\x00', ' '등 문자열 끝을 암시하는 문자가 올때 까지 입..
[#5 state] 환경 구축부터 스토어 출시까지 디데이 앱 따라 만들며 배우는 React Native
2020. 9. 30. 17:54
Develop/React-Native
리액트 네이티브 튜토리얼 [#1 리액트 네이티브 맛보기] [#2 Component와 메인화면 분할] [#3 레이아웃 구성하기] [#4 레이아웃 구현 마무리하기] [#5 state] [#6 설정 Modal 만들기] [#7 설정 Modal 기능 추가하기] [#8(구현 끝) 채팅기능 구현하기] 이제 앱의 기능인 Dday기능을 구현해야하는데, 문자열 정보와 d-day정보가 필요하겠네요! react native에서는 state라는 것을 이용하면 구현할 수 있습니다. // App.js export default class App extends React.Component { constructor(props) { super(props); this.state = { } } ... 생략 } App.js의 앞부분에 con..
[#4 레이아웃 구현 마무리하기] 환경 구축부터 스토어 출시까지 디데이 앱 따라 만들며 배우는 React Native
2020. 9. 30. 17:43
Develop/React-Native
리액트 네이티브 튜토리얼 [#1 리액트 네이티브 맛보기] [#2 Component와 메인화면 분할] [#3 레이아웃 구성하기] [#4 레이아웃 구현 마무리하기] [#5 state] [#6 설정 Modal 만들기] [#7 설정 Modal 기능 추가하기] [#8(구현 끝) 채팅기능 구현하기] 안녕하세요! 올해 1월에 #3까지 작성한 후, 업로드를 하지 못하였는데 마무리는 지어야 할것 같아 다시 글을 작성합니다! #3까지 진행하면서 setting과 Dday부분은 뷰가 완성되었어요. 이제 Chat부분을 작업해볼거에요. 현재 전송버튼은 보이는데 입력값을 받을 Input은 화면엔 보이지 않아요. 그 이유는 width를 지정해주지 않았기 때문이에요. //App.js const styles = StyleSheet.cr..
release 버전에서 axios 에러가 발생하는 경우
2020. 9. 3. 20:14
Develop/React-Native
github.com/facebook/react-native/issues/24039#issuecomment-518687649 Network request Issues with react native 0.59 · Issue #24039 · facebook/react-native 🐛 Bug Report Hello, I recently encountered a problem with the network requests of my app. Before version 0.59 the requests to my API worked perfectly but since this version the requests to my API n... github.com added these to my /android/app/s..
[CVE-2018-10027] 알집 load malicious DLL 취약점 분석
2020. 8. 21. 19:07
Security/Windows Exploit
CVE Details: https://www.cvedetails.com/cve/CVE-2018-10027/ 개요 알집 10.76 이하 버전에서 %PROGRAMFILES%\ESTsoft\ALZip\Formats, %PROGRAMFILES%\ESTsoft\ALZip\Coders, %PROGRAMFILES(X86)%\ESTsoft\ALZip\Formats, %PROGRAMFILES(X86)%\ESTsoft\ALZip\Coders 세 경로에 포함된 DLL파일을 모두 로드하여 임의 코드 실행이 가능합니다. 취약점 탐색 %PROGRAMFILES(X86)%\ESTsoft\ALZip\Formats에 1.dll파일을 위치시킵니다. windbg에서 알집을 실행하고 lm명령으로 로드된 모듈을 확인하면 1.dll이 로드된 것..
[CVE-2011-1336]알집 mim 파일 버퍼 오버플로우 분석
2020. 8. 17. 20:32
Security/Windows Exploit
CVE Details : https://www.cvedetails.com/cve/CVE-2011-1336/ 개요 알집 8.21 이하 버전에서 mim파일을 여는 경우 버퍼 오버플로우가 발생. mim파일이란? Multipurpose Internet Mail Extension files으로 즉 이메일 메세지 파일입니다. 인터넷 상에서 흔히 MIME이라고 불리는 것과 동일한 구조를 가지고 있습니다. 해당 파일에는 이메일 내용과 첨부파일들이 포함되어있습니다. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=frontier This is a message with multiple parts in MIME format. --frontier Content-Type..
Notepad++ 7.6.2 xml buffer overflow 분석
2020. 7. 23. 00:53
Security/Windows Exploit
취약점 제보글: https://hackerone.com/reports/480883 notepad-plus-plus/PowerEditor/src/Notepad_plus.cpp의 xml파싱 기능중 오버플로우가 존재한다는 내용입니다. Notepad++는 오픈소스 프로젝트로 공식 github에서 소스코드를 다운로드 받을 수 있습니다. https://github.com/notepad-plus-plus/notepad-plus-plus/releases/tag/v7.6.2 취약점이 존재하는 7.6.2버전의 소스코드를 다운로드 받고, 해당 부분을 분석해보겠습니다. 949번째 줄 부터 시작되는 getHtmlXmlEncoding함수입니다. int Notepad_plus::getHtmlXmlEncoding(const TCHA..