전체 글

우리의 인생은 우리가 노력한 만큼 가치가 있다. 2021~2023 고등학생, 2024 ~ Technical Architect 2025~2027 육군정보보호병
C,C++

C 포인터

들어가기 전 포인터란 무엇인가에 대해 간단하게 알아보자면 배열이나 값의 메모리 속 주소를 저장해주는 것입니다. #include int main(){ int *point; int* point1; int * point2; // 포인터 선언 int n = 10; //일반 변수 point = &n; printf("%d", point); } 들어가기 전 포인터와 이 간단한 코드에 대해서 이해하기 위해서 몇가지를 알려드리겠습니다. 참조연산자란? 참조 연산자는 * 을 말하며 포인터의 이름이나 변수의 주소 앞에 사용하여, 포인터에 가리키는 주소에 저장된 값을 반환합니다. 위 코드에서는 *point , 등으로 포인터 변수를 만드는데 사용해 주었습니다만 3개의 포인터 변수들에 참조연산자의 위치가 모두 다른것을 볼 수 있으..

Web

load of SQL injection 2번

일단 2번 문제를 들어가면서 주의해야할 점은 1번 문제와 다르게 pw 가 md5로 암호화 되어 있다는 것이다. 하지만 이 외에는 1번 문제와 엄청나게 차이가 나지는 않는다. 1번 문제를 풀땐 아이디를 입력할 필요가 없기 때문에 php 뒤에 ?pw='or'1'='1 만 입력해준다면 sql 특성상 시스템에서 자동으로 ' 를 씌워주기에 or '1'='1' 가 되어 구문이 끝나게 된다. 이에따라 뒤의 1 = 1 가 참이기 때문에 모두 참이 되어 1번 문제가 풀리게 되는 것이다. 그렇다면 2번 문제에서는 어떻게 해야할까 먼저 답부터 말하자면 ?id=admin' or pw=' 를 입력하게 되면 된다. pw 는 md5 형식으로 인해 암호화되기 때문에 직접 적게 된다면 암호화 되어서 injection 을 할 수 없게 ..

Web

XSS game 3단계

xss game 3단계의 힌트를 보게 되면 Data in the window.locationobject can be influenced by an attacker. 구문에서 window.location 부분에 버그가 있다. 데이터가 공격자에게 영향받을 수 있다고 말해줍니다. html += ""; window.location.hash = num; window.onload = function() { chooseTab(unescape(self.location.hash.substr(1)) || "1"); } 위 js 코드들에 오류가 있다는것을 알 수 있고 그 위치가 사진 번호를 지정해주는 url 의 ~~#n 으로 되어있는걸 알 수 있습니다. 하지만 여기서 는 적용되지 않는다고 나와있기에 onerror 를 사용해..

코춘대길
무지성 컴퓨터 성장일기