일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 숙명여자대학교 정보보안 동아리
- PHP 웹페이지 만들기
- 백준
- XSS Game
- SWEA
- 기계학습
- 머신러닝
- WarGame
- hackctf
- 숙명여자대학교 정보보안동아리
- c++
- Sookmyung Information Security Study
- c
- CSS
- HTML
- 드림핵
- 생활코딩
- The Loard of BOF
- Python
- Javascript
- hackerrank
- lob
- 자료구조 복습
- C언어
- siss
- 웹페이지 만들기
- 풀이
- BOJ
- BOJ Python
- 파이썬
- Today
- Total
목록2021 SISS 21기 활동 (136)
혜랑's STORY
다른 문제들과 다르게 입력창이 따로 없고 # 뒤에 입력하는 값을 출력하고 있는 것 같다. # 뒤에 1234를 넣어 확인해보자 화면에 1234가 출력되고 있는 것을 볼 수 있다. 소스코드를 확인해 보자. 소스 코드를 살펴보니 URL에서 # 뒤의 값을 가져와 url 변수에 저장하고, url 변수에서 'https://'와 같은 형태가 있을 경우 "Sorry, cannot load a URL containing" 문구를 출력하고 아닐경우 해당 url에 있는 코드를 자바스크립트로 실행하는 것 같다. 힌트를 살펴보자. "google.com/jsapi?callback=foo"에서 callback의 값으로 alert을 전달해주면 될 것같다. 그러나 'https://'와 같은 형태는 검사를 하고 있기 때문에 'Https..
#BOJ 4673번 : 셀프 넘버 - 풀이 #include #define MAX 10000 int selfN(int x){ int num = x; while(x!=0){ num += x%10; x /= 10; } return num; } int main(){ int flag[MAX] = {0,}; for(int i=1; i
문제를 풀기 위해 xshell로 로그인 해 주었다. ID : orge / PW : timewalker 가장 먼저 존재하는 파일들을 알아보기 위해 ls -l 명령어를 실행하였다. troll.c 파일의 내용을 확인해 보았다. Lv.7에서는 argc가 2 이상이 되어도 괜찮았지만, 이번 문제에서는 argc가 꼭 2개이어야 한다. 즉, argv[1]의 RET이 agrv[2]를 가리키도록 하는 방법을 사용하지 못한다는 것이다. 환경변수도 초기화하고.. 스택 공간도 초기화하고.. 이제 쉘코드가 들어갈 수 있는 공간은 초기화하지 않는 argv[0]만 남게 되었다. 파일명을 변경하는 방법을 찾아보았다. 파일명 변경 : rename 변경전파일명 변경후파일면 대상파일 다음과 같이 코드를 구성해보았다. 이때 주의해야 할 점..
문제를 풀기 위해 xshell로 로그인 해 주었다. ID : darkelf / PW : kernel crashed 가장 먼저 존재하는 파일들을 알아보기 위해 ls -l 명령어를 실행하였다. orge.c 파일의 내용을 확인해 보자. 이번 문제는 Lv.6에서 argv[0]의 길이를 검사하는 코드가 추가되었다. argv[0]의 길이를 77로 맞춰주기 위해 '/'를 많이 넣어 실행시켜 보았다. stack is still youur friend. 가 출력되는 것으로 보아 argv[0]의 길이 검사가 통과된 것 같다. 6단계 문제를 풀었던 것 처럼 argv[1]이 argv[2]를 가리키도록 하여 공격해보자. `python -c 'print "." + "/"*70 + "cporge"'` `python -c 'prin..
문제를 풀기 위해 xshell로 로그인 해 주었다. ID : wolfman / PW : love eyuna 가장 먼저 존재하는 파일들을 알아보기 위해 ls -l 명령어를 실행하였다. darkelf.c 파일의 내용을 확인해 보자. Lv.5에서 등장한 egghunter와 buffer hunter에 argv[1]의 길이를 검사하는 코드가 추가된 것을 볼 수 있다. 따라서 argv[2]에 쉘코드를 넣고 argv[1]에 RET이 argv[2]를 가리키도록 하여 공격을 해보려 한다. 일단 darkelf 파일을 복사한 뒤 gdb를 사용하여 main 함수의 어셈블리 코드를 살펴보자. gdb를 통해 스택 상황을 아래와 같다고 생각해 볼 수 있다. buffer SFP RET(return) 40 4 4 가장 먼저 argv[..
DOM에 스크립트를 삽입하지 않고 XSS를 공격하는 문제이다. 일단 Sign up을 눌러 보았다. URL 파라미터로 next의 값에 confirm을 전달하고 있다는 것을 알 수 있었다. 일단 쓰레기 값을 넣어준 뒤, Next를 눌러보자. 잠시 다음과 같은 화면에 머물렀다가 처음 화면에 Welcome! ... 과 같은 문장이 삽입되어 있는 것을 볼 수 있다. 코드를 살펴보자. 코드를 확인해보니 Next 버튼이 링크 태그인 것을 확인할 수 있었다. 또한 링크의 주소가 next 변수의 값으로 전달되고 있었다. 따라서 next의 값으로 "javascript:alert("");"을 전달하고 Next 버튼을 누르면 성공이다.
#BOJ 1316번 : 그룹 단어 체커 - 풀이 #include int check(char x[]){ int flag[26] = {0}; for(int i=0; x[i]; i++){ if(flag[x[i]-'a']){ return 0; } else{ char temp = x[i]; flag[x[i]-'a'] = 1; while(1){ if(temp != x[++i]){ i--; break; } } } } return 1; } int main(){ int n, cnt = 0; char word[101]; scanf("%d",&n); for(int i=0; i= (V-B-1) / (A-B) 따라서 (v-b-1)/(a-b)+1을 출력하면 된다. - 실행결과
본 포스팅은 아래 사이트의 내용을 요약한 것이다. 01.NX Bit(MS : DEP) - TechNote - Lazenca.0x0 Excuse the ads! We need some help to keep our site up. List NX Bit(MS : DEP) NX Bit(NX bit, Never eXecute bit, 실행 방지 비트)이란?프로세스 명령어나 코드 또는 데이터 저장을 위한 메모리 영역을 따로 분리하는 CPU의 기 www.lazenca.net 1. NX bit(실행 방지 비트)이란? 프로세스 명령어나 코드 또는 데이터 저장을 위한 메모리 영역을 따로 분리하는 CPU의 기술이다. NX 특성으로 지정된 모든 메모리 구역은 데이터 저장을 위해서만 사용되며, 프로세서 명령어가 그곳에 상주하..