전체 글 68

Unicode upper/lower Trick

https://twitter.com/payloadartist/status/1061221910539718656 Arif Khan on Twitter “Got an application that converts letters to upper case? Here's a small trick on how you can turn it into an XSS! #security #bugbounty #infosec #cybersecurity #bugbountytip #Exploit #hacking #Vulnerability” twitter.com admin 필터링 때는 admİ(%C4%B0)n , mb_strtolower 함수를 거친 뒤 쿼리에 들어가는 문자열 admin lowercase https://www.comp..

Web,Mobile/Tech 2019.04.08

Raspberry Pi 3 SSL certificate 오류

파이썬 패키지를 받으려고 하니 SSL 에러가 발생한다.SSL 검증을 하지 않고 받는 옵션도 존재하는데 이런 옵션을 사용하기 힘든 때에 발생을 했다. purge, update, upgrade를 해보아라 인증서를 가져와서 덮어씌워라 등 구글링해서 얻은 방법들을 여러가지 시도해보았지만 실패.여러 번의 삽질 끝에 내 문제의 경우 의외로 간단했었고 라즈베리 파이에 OS만 올리고 별 다른 서버 설정을 안했을 경우 비슷한 문제가 생길 가능성이 매우 높을 것 같아 기록 겸 포스팅 한다. 결과부터 말하자면 실제 시간과 라즈베리 파이에서 가리키는 시간이 달랐다.RTC 모듈이 없는 라즈베리 파이는 전원을 끌 때마다 실제 시간과 많이 동 떨어지게 된다. date 명령어를 통해 OS에 설정 된 시간을 확인 할 수 있다. 내 경..

Raspberry Pi 2019.01.08

Raspberry Pi 3 ssh 보안 키 접속

최근 aws이나 gitlab에선 ssh 키로 접속을 하는 경우가 많은 것 같다. 아직까진 테스트 DB나 웹 서버로 이용 중인 Raspberry Pi라 외부인의 접속도 불필요하고패스워드도 안 쳐도 되니 여러모로 편리할 거 같아 만들어 보았다. 서버와 접속할 PC에 생성한 키가 각각 있어야 한다. 전송하기 편한 곳에서 만들어서 분배하면 편하다.개인적으로 사용하기 편한 라즈베리 서버에서 만든다. 1. 개인키, 공개키 생성 $ssh-keygen -t rsa명령어를 통해 key를 만든다 암호화 방식은 rsa 방식을 이용어디에 저장할건지, 어느 이름으로 저장할건지 물어보는데 아무것도 입력하지 않을 시 기본은/home/(user)/.ssh/ 디렉토리에 id_rsa 파일로 생성된다.다음엔 password를 물어보는데 ..

Raspberry Pi 2018.08.21 (1)

webhacking.kr 42번 풀이

webhacking.kr 42번 풀이 [HINT] 1. Base642. File Download3. Brute Force Attack 페이지에 접근하면 두개의 다운로드 링크를 볼 수 있는데, read me 의 test.zip은 다운 경로가 없고 권한이 없다는 메세지를 띄우는 JS코드가 박혀있다.test.zip을 열어보는 것이 목표일 것이다. test.txt의 다운로드 URL을 보면 파라미터로 base64의 값을 보내는 것을 확인 할 수 있다. 이는 test.txt의 base64 encode한 값이다.예상으로 파라미터를 test.zip의 base64 encode한 값을 넣으면 다운 받을 수 있을 것 같다. test.zip을 base64 인코딩 한 값은 dGVzdC56aXA= 이고, 이를 파라미터에 넣으면 ..

wargame/webhacking.kr 2018.08.13 (1)

webhacking.kr 18번 풀이

webhacking.kr 18번 풀이 간단한 인증우회 문제 [HINT] 1. SQL Injection2. space bypass no를 get 파라미터로 받는다.no는 특정 문자열이 들어가있으면 필터링하고들어가있지 않은 경우, sql query를 요청한다. 반환값으로 admin이면 문제를 풀 수 있다. table에 있는 값은 1이 guest, 2가 admin이다. where 조건문의 id가 guest로 고정되어 있으므로 no에서 sql injection을 시도하여 admin 값을 반환하게 한다.간단하게 2 or 1=1로 시도했다. 참고로 int형의 컬럼에 조건문을 걸 때는 싱글쿼터 등의 구분자를 적지 않고 숫자만을 입력할 수 있으니int형의 컬럼 조건문에 sql injection을 걸 때에는 싱글쿼터가 ..

[LOB] orc

개인적으로 RET 함수 뒤에 쉘 코드를 써 내려 가는 방법을 배웠던 적이 있어서 goblin 문제보다 쉽게 풀 수 있었다. 소스코드 분석 프로그램은 인자로 입력값을 받고, 환경변수에 쉘 코드를 삽입하는 방법을 방지하기 위해 환경변수를 0으로 덮어 씌워버린다.그리고 인자 값의 48번째 값이 \bf가 아니라면 프로그램을 종료한다. 다른 쉘 코드 삽입 방법이 많지만 스택에 쉘 코드를 삽입하여 문제를 풀라는 의미인 듯 하다. 위의 조치를 다 하면 strcpy 함수를 통해 buffer에 입력 값을 복사하고 출력한다. 문제 풀이 argv[1][47] != '\xbf'' 로 인해 48번째 값이 \xbf가 들어가야 프로그램이 도중 종료되지 않는 것을 확인 할 수 있다.덤으로 Segmentation fault가 발생한다..

[LOB] goblin

소스코드 분석 cobolt 문제와 비슷하게 16byte 크기의 buffer가 존재하므로 같은 방법을 이용해도 괜찮을 듯 하다.다른 점은 이번 문제에선 인자로 받지 않지 않는다. 이는 인자값을 넘기는 `` 대신 다른 명령을 통해 해결할 수 있다. 문제는 stdin이라는 힌트다. cobolt와 같은 방법을 했는데 쉘을 따지지 않는데 이유를 알려면 시스템 적인 배경지식이 어느정도 있어야 알 수 있는 듯하다. 아직까지도 완벽한 이해는 하지 못했다. 문제 풀이 여러가지 방법이 있겠지만, 쉘 코드의 주소로 이동하는 데에는 cobolt와 별 다른 차이점이 없으므로 환경 변수와 NOP Sled 기법을 이용한다. 환경변수는 프로그램을 만들어 출력했다. 위치는 0xbffffea8임을 알 수 있다.인자 값이 아닌 프로그램의..

webhacking.kr 34번 풀이

webhacking.kr 34번 풀이 문제 자체를 푸는데 있어서는 왜 이렇게 높은 배점이 책정되어있는가 조금 의문이 들 정도로 무슨 의도인지 모르겠는 문제 [HINT] 1. JavaScript2. 난독화(????) 문제에 접근하면 Wrong이라는 메세지 박스가 뜨고 검은 화면밖에 보이지않는다.페이지의 소스를 보면 난독화가 되어 있다. 글자는 왜 깨져있는지 모르겠다. 하지만 개발자 도구로 보게 되면 언패킹 된 JS코드가 보이게 된다.url에 0lDz0mBi2라는 문자열이 있으면 Passw0RRdd.pww 페이지로 이동하고 아니면 메세지 박스를 띄운다. 난독화 문제인데 왜 소스 코드 막 줄에 구지 언패킹 된 소스를 노출시킨건지 이해가 되지 않았다.바쁜 웹 해킹.kr 개발자의 의도는 지금은 잘 알턱이 없고 난..

wargame/webhacking.kr 2018.08.10 (1)