일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- syscall
- 백트래킹
- 이진 탐색
- fsb
- heap
- 브루트 포스
- 이진트리
- 투 포인터
- 포맷스트링버그
- off by one
- 스위핑 알고리즘
- 연결리스트
- 분할 정복
- 에라토스테네스의 체
- ROP
- 동적 계획법
- RTL
- 수학
- DFS
- OOB
- BOF
- 문자열 처리
- 큐
- House of Orange
- 이분 탐색
- 완전 탐색
- BFS
- tcache
- 스택
- 다이나믹 프로그래밍
- Today
- Total
목록분류 전체보기 (218)
SDJ( 수돈재 아님 ㅎ )
문제 링크 : https://www.acmicpc.net/problem/17267 17267번: 상남자 CTP의 대표 상남자 영조는 자유롭게 이동하는 것을 좋아한다. 그렇지만 영조는 상남자이기 때문에 위아래로만 간다. 따라서 위, 아래로는 얼마든지 이동할 수 있지만 왼쪽, 오른쪽으로는 이동하 www.acmicpc.net #include #define endl '\n'; using namespace std; typedef struct Point { int x, y; int L, R; }P; bool visited[1005][1005]; int N, M; int L, R; int y, x; int BFS() { int res = 0; int i; P p; queue Q; Q.push({x, y, L..
문제링크 : https://www.acmicpc.net/problem/1013 1013번: Contact 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 전파를 표현하는, { 0, 1 }만으로 이루어진 문자열이 공백 없이 주어진다. 문자열 길이는 (1 ≤ www.acmicpc.net 잠수함 식별이라는 문제와 똑같은 문제다. 잠수함 식별문제를 풀 때는 문자열 처리를 통해서 풀었지만 질문 중에서 다음과 같은 글을 보게 됐다. www.acmicpc.net/board/view/1312 글 읽기 - 1013 Contact 질문입니다. *솔루션 스포일러 주의 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net 그래서.. 이 글을 읽고 띠용 해서 북마..
문제링크 : https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 �� www.acmicpc.net 원형큐로 풀고싶어서 원형큐로 구현해서 풂 #include #include typedef struct Queue { int *Queue; int front; int rear; int Queue_size; }Queue; void pop(Queue *pQueue); void Left(Queue *pQueue); void Right(Queue *pQueue); int findidx(..
문제 링크 : https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 처음 S를 T로 바꿀 수 있는지 BFS로 시도했다가 메모리 초과가 발생해서 생각을 해보니 최종 문자열에서 끝에 붙어있는 문자열에 맞는 규칙대로 줄여가다보면 T를 S로 바꿀 수 있지 않을까 생각을 하게 되서 짰다 T의 마지막이 A일 경우 1개만 줄이고 T의 마지막이 B일 경우에는 1개를 줄이고 문자열을 뒤집어주었다. 이 과정을 반복해서 S와 T의 ..
보호되어 있는 글입니다.
sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list sudo apt-get update https://extrememanual.net/26688 우분투 apt-get update 404 not found 오류 해결 방법 - 익스트림 매뉴얼 우분투를 서버로 사용하다가 오랜만에 업데이트를 하려는 경우 다음과 같은 404 not found 오류와 함께 진행이 되지 않는 경우가 있습니다. 이 문제는 현재 사용하고 있는 우분투 버전의 업데이트 � extrememanual.net 여기서 가져왔다.
보호되어 있는 글입니다.
재밌는 문제였다. 2등을 한 문제. ( 만약에 잠 안잤으면 퍼블 먹었을 듯 TT ) 다만 현재 Ubuntu 19.04가 날라가서 코드만 가지고 있는 상태이다. 그래서 우분투 화면은 찍지는 못했는데 일단 익스 코드만 올려둔다. 취약점은 OOB가 되겠다.( OOB arbitrary write ? ) 우리가 할당하는 위치를 조절할 수 있기 때문에 allocated_count < 0으로 조작해서 stack[allocated_count]의 위치가 &allocated_count가 되게 만들어 준다음 할당을 시도하면 allocated_count에 heap address가 남게 되서 heap leak이 가능해진다. 그리고 tcache bins의 0x3f0 위치에 arbitray write를 통해 bss_stdout -..
보호되어 있는 글입니다.
사용한 기법 : house of orange 자신이 작성한 Testimonial와 로그인 한 유저의 Testimonial를 구분하는데 오류가있다. 예를들어 A가 B의 Testimonial를 4개 쓰고 C의 Testimonial를 4개 썼다 하고 B가 자신의 Testimonial 4개를 전부 지우면 B는 자신의 Testimonial가 뜨지 않지만 A에게서는 B의 Testimonial가 뜨면서 수정할 수 있다. ( free됐지만 접근할 수 있음 ) 그래서 나는 fd와 bk를 잘 조작하여 chunk를 overlap 시킨 뒤 topchunk를 조져서 house of orange를 실행시켰다. from pwn import * server = 0 if server: p = remote("tukro.pwn2.win"..
보호되어 있는 글입니다.
이전(예전) 글에서 RTL에 대해 배웠다. 몇 달전 쓰다가 만 글인데 새롭게 고쳐쓰려고 다시 갈아엎었다 RTL chaining을 위한 사전 지식. 2020/02/04 - [study/pwnable] - [Exploitation Technique] RTL 기법 ( Return-to-libc ) 이전 RTL 글에서 나는 쉘을 따고나서 함수의 끝이 yyyy나 YYYYYYYY에서 끝나는 것을 알았고, 이 글에서 쓸 내용은 이제 그것을 가지고 무엇을 어떻게 할지에 대해 짱구를 굴리는 글이다. 글은 RTL chaining 32 bit RTL 64 bit RTL 로 구성되어있다. 이 글을 읽고 나면... RTLchaining과 유사하지만 더 재밌는 ROP(Return Oriented Programming)를 보러가자..