보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
info Model Name Xiaomi MI6 Date 2019-11-22 CVE X DESC Pwn2own 2018에서 발표된 내용으로 Xiaomi Mi6 와이파이와 연결할 때 [Captive Portal] 기능을 이용하여 RCE가 가능한 내용 Xiaomi Mi6은 Captive Portal이 사용되면 사용자에게 먼저 알리지 않고 로컬 서버로 리다이렉션 함 connect.rom.miui.com 로컬 웹 서버 “http://connect.rom.miui.com/generate_204” 에는 HTML 페이로드가 포함되는데 이 작업을 수행하면 CaptivePortal 앱이 자동으로 열림 intent:// 스키마를 사용하여 안드로이드 어플리케이션 특정 activity를 호출함 intent://testing...

일본에 출장갔을 때 소장님께서 열심히 노트북을 보고 계시길래 갑자기 합류해서 푼 문제! 역시 함께하는 CTF가 제일제일 재밌다. 혼자하는건 좀.. 힘도 빠지고 뭔가 꼭 안풀어도 될꺼같고.. 풀이 다운로드 한 파일은 소스파일임 db.php를 보면 products 테이블에 name이 char인 것을 확인할 수 있고 facebook의 description으로 flag가 있는걸 확인할 수 있음 add.php를 보면 name, secret, description의 내용이 빈것이 아니고 name이 같은 데이터가 없으면 INSERT를 함 secret은 숫자, 대문자, 소문자가 한개씩 포함한 10글자 이상의 문자열 prepare()와 bind_param()를 이용하기 때문에 SQLi X view.php에서는 name과..

speedrun-003.quals2019.oooverflow.io 31337 풀이 speedrun-003은 x86-64 파일임 get_that_shellcode() 함수에서 buf에 입력을 받아 조건 2개를 만족하면 shellcode_it()를 호출함 입력값의 길이가 30 입력한 값의 앞 15bytes를 xor한 값과 뒤 15bytes를 xor한 값이 같아야함 buf에 입력한 값은 rbp-0x30에 위치하는데 v4는 rbp-0x21에 위치한다 즉 buf로 30만큼 입력하면 v4까지 채워짐 xor() 함수 루틴은 아래와 같다. v3 = a1[0]^a1[1]^a1[2]^……..^a1[13]^a1[14] return v3 shellcode_it() 함수는 mmap()으로 메모리를 할당하고 memcpy()로 입..

WEB - SQL injection 웹 페이지에 접속하면 index.php가 실행되고 소스를 보면 culture-item이라는 class를 클릭할 때 자바스크립트가 실행된다. item.dataset.title의 값을 base64로 인코딩 하고 url 인코딩하여 open.php로 보내게 된다. open.php로 전달된 title의 값에 따라서 youtube 링크가 리다이렉션 되기 때문에 DB를 사용해 조회하고 링크를 가져오는 것을 유추할 수 있다. open.php?title=R2VzaWNoZXJ0ZXIgQmVyZWljaA%3D%3D -> https://www.youtube.com/watch?v=71DdxJF8rmg encodeURIComponent(btoa('" or 1=1-- -"'))의 값을 title..

lua 스크립트를 컴파일하면 lua bytecode가 만들어진다. 파일을 확인할 때 헤더를 먼저 확인하는 편이라서 lua bytecode도 헤더부터 확인했다. ver 5.1 lua 5.1 byecode를 hex로 보면 아래와 같은 값을 가지고 있다. 그 중 5.1 버전의 헤더 크기는 총 12 bytes 이다. 이는 lua를 만드는 소스코드 중 lundump.h에 정의되어 있다. 각 헤더가 의미하는 바는 아래와 같다. [offset 1~4] lua bytecode는 파일 시그니처로 0x1B4C7561을 가진다. [offset 5] 이 후 lua의 버전을 정의하는데 0x51은 lua 5.1 버전, 0x52는 lua 5.2 버전, 0x53은 lua 5.3 버전을 의미한다. [offset 7] endian을 정..
최근에 분석한 Router 들을 보면 OpenWrt OS 기반의 웹 인터페이스를 참 많이 사용하고 있다. OpenWrt의 uhttpd는 cgi-bin/으로 요청을 보내는데 이를 처리하는 것이 lua bytecode이다. 그런데 이 lua bytecode는 이미 컴파일 되어있는 파일이라 분석하기 어려워 디컴파일이 필요하다. lua bytecode의 디컴파일러 중 하나인 luadec을 설치하는 내용이다. (unluac.jar를 이용해도 디컴파일이 가능) https://github.com/viruscamp/luadec viruscamp/luadec Lua Decompiler for lua 5.1 , 5.2 and 5.3. Contribute to viruscamp/luadec development by cre..