| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- ue4dumper
- MongoDB #NoSQL #CreateUser #DropUser #mongod #mognod.conf
- 네이버카페
- EC2
- 취약점
- 안전결제
- esbuild
- 변태는
- 내부확산
- 채팅환전사기
- jeb_mcp
- Frida
- intelmac
- XSS
- shell_gpt
- aes
- mitmproxy
- Malware Sample
- 허리디스크
- AWS
- 보이스피싱 #대검찰청 #명의도용 #비밀번호 #계좌번호 #공공기관 #가짜검찰청
- CJ대한통운 #쿠팡 #통관번호오류 #통관고유번호오류 #안주원팀장 #모건인베스트
- speed-measure-webpack-plugin
- 척추관협착증
- 모의해킹
- 많다..
- LFI
- self-signed
- 중고나라
- S3
- Today
- Total
목록Repository (246)
annyoung
난독화된 앱을 분석할 일이 있어서 jeb로 열어봤는데, 구버전의 경우 난독화 코드를 보여줬지만 최신 버전은 난독화를 계산하고 풀어서 디컴파일해준다. 이정도 스트링 가지고 뭐가 도움이 되냐? 위 화면을 보면 생각보다 잘 풀리는걸 볼 수 있다. 게다가 이런 앱들 같은 경우 일반적으로 사용하는 암호화 함수를 setEncrypt()처럼 호출하지 않고, setLoadResource()처럼 호출하는데 분석을 방해하기 위해서 일부러 의미없는 문자열로 치환해놓는다. 게다가 추가로 분석을 방해하기 위해서 어떤 결과 값에 % 0x80하거나, AudioTrack->getMaxVolume()과 같은 쓰레기 값들이 포함되어 있는데 마찬가지로 분석을 방해하기 위함이다. 그렇기에 분석을 빠르게 하기 위해서 Ai를 붙여봤는데 생..
필자가 쓰는 vim 설정 파일인데, 어디서 가져와서 쓴진 모르겠는데 거의 10년?째 잘 쓰고있다. ~/.vimrc에 다음 설정파일 넣으면 된다. set hlsearch " 검색어 하이라이팅set nu " 줄번호set autoindent " 자동 들여쓰기set scrolloff=2set wildmode=longest,listset ts=4 "tag selectset sts=4 "st selectset sw=1 " 스크롤바 너비set autowrite " 다른 파일로 넘어갈 때 자동 저장set autoread " 작업 중인 파일 외부에서 변경됬을 경우 자동으로 불러옴"set cindent " C언어 자동 들여쓰기set bs=eol,start,indentset history=256set laststatus=2..
모 커뮤니티에 누군가가 애플 앱스토어의 sourcemap이 매핑되어 원본 소스코드가 노출된다고 올렸다. Saved All Resources 확장자를 이용해서 리소스를 모두 저장했다고한다. 나도 쓰는 크롬 확장자인데 굳이 쓰진 않는다. 근데 그걸 또 퍼블릭으로 소스코드를 공개했다..ㅋ 대단한 깡... 그래도 DMCA 때문에 하루만에 레포지토리를 막았는데... 이걸 본 사람들은 그걸 또 fork해서 여러개의 레포지토리로 나아갔다. 크롬 개발자 도구에서 확인해보면 Source map failed to load라고 나오는데, 애플 앱스토어는 빠르게 소스맵에 해당하는 *.map 파일들을 모두 삭제한걸로 조치했다. 애플 앱스토어가 대표적인 케이스가 되어버렸지만.. 이 외에도 많은 웹들이 sourcemap이 올라간걸..
python -m http.server를 사용해서 웹서버를 간단하게 켰었는데 브라우저 cors로 인해 리소스를 로드하지 못하는 상황이 발생했다.별도로 웹서버 돌리자고 프로그래밍 하고 싶지 않았고.. serve로도 간단하게 되지 않을까?라는 생각으로 찾아보니 serve의 json을 이용해 cors 설정을 할 수 있었다.serve.json로 다음 json을 저장한 후에 serve로 실행하면 자동으로 configuration이 적용된다.{ "headers": [ { "source" : "**/*.@(jpg|jpeg|gif|png|txt|js)" , "headers" : [{ "key" : "Access-Control-Allow-Origin" , "value" : "*" ..
내가 당장 쓸일이 없을줄 알았는데 쓰게 됐다.. 클라이언트 사이드에서 인증 및 인가 절차를 구현하는 경우 mitmproxy의 addon을 사용해 자동으로 변조해서 서비스를 이용할 수 있다. 예를 들어 클라이언트 사이드에서 role이 user로 선언되어 있는 경우 정규식을 사용해서 해당 값을 찾고 admin으로 변조하는 등이 가능하거나, 특정 js에서 인증 및 인가를 담당하는 함수를 수정하거나 등 원하는대로 수정이 가능하다. class Interceptor: def __init__(self): pass def response(self, flow) -> None: if flow.request.host == 'example.com': response = ..
모의해킹 하다가 네트워크 패킷을 하나 하나 수정하기 싫어서 찾아보니 mitmproxy에 python addon을 붙일 수 있었다. from urllib.parse import parse_qs, urlencodefrom mitmproxy import ctxclass Interceptor: def __init__(self): pass def request(self, flow): if flow.request.path == "/api/profile": payload = flow.request.content.decode('utf-8') parsed_payload = parse_qs(payload) if parsed_pa..
파일 다운로드(Local File Inclusion)이번 모의해킹에서는 SpingBoot를 사용하고 있으나 초기에? 사용하던 레거시한 기능에서 파일 다운로드 취약점을 발견했다. 원래 파일 다운로드 취약점, 속히 말하면 LFI(Local File Inclusion) 취약점을 발견하면 이 취약점을 이용해 어디까지 내부 탈취가 가능한가까지 진행하는데, 그 이유는 passwd 고작 그거 받아서 뭐할 수 있는데? 하는 개발자나 윗분들의 생각으로 인해 더 깊게 진행한다.(이런 하나하나의 디테일이 보고서의 퀄리티가 달라지기 때문이기도함) 우선 첫번째로, 변태스럽긴한데 passwd를 다운로드 받아 붙어있는 쉘을 확인해서 이에 맞는 history들을 확인한다. 그리고 이후에는 하나하나 확인하는 과정이 필요하다. 개발자들..
보호되어 있는 글입니다.
우선 회사에서 만들고 있는 솔루션이 있는데, 로고가 다음과 같이 PNG로 제작되어 있다. png to svg online으로 구글링해보면 원하는 포맷으로 포팅할 수 있는데, 조금 복잡하면 제대로 나오지 않는다. 우선 원본 png 로고의 각각의 RGB(HEX) 색상을 확인하는데, 남색의 기준으로 #263971, 주황색은 #f97820이다.svg의 fill attribute를 통해 각각의 색상으로 채워준다. 그 이후에는 SVG Path visualizer에서 원하는 그림(문자)의 path를 붙여넣고, 제공된 예제를 확인하며 하나하나 수정한다.https://svg-path-visualizer.netlify.app/ 넣어서 확인해보면.. 정말 굳이 필요하나 싶은 c(curve)가 정말 많이 들어있는데, 굴..
살면서 가끔 쓸일이 있긴 하길래 만들어봤다. targetTimestamp에 목표 시간을 입력하고 돌리면된다. 참고로 setTimeout을 사용하는 이유는 setInterval이 특정 ms 미만인 경우 clearInterval이 먹지 않고 이중으로 선언되어서 thread가 돌아가고 브라우저가 버벅거리는 경우가 발생한다.(옛날에 썼던걸로 기억하기로는 그렇다) 멈출때는 새로고침하면 되고, 콘솔에 많이 떠있거나 네트워크 패킷이 많아지는 경우 주기적으로 ctrl+l을 통해 clear 시켜줘야 브라우저가 뻗지 않는다. 안그러면 OOM난다.. await import("https://cdn.jsdelivr.net/npm/dayjs@1/dayjs.min.js");const launch = () => { const ..
