52

webhacking.kr 38번 문제

38번 문제입니다~~~log injection이라구 써있네요..훔..log injection이 뭘까요? sql injection처럼 파라미터를 통해 로깅을 조절하는 방법이라구 하네요 Admin을 클릭하면 admin.php로 가네요 admin.php에는 IP:입력한 값 형식으로 log가 찍혀있습니다 admin으로 로그인을 시도하니 admin이 아니라고 하네요 IP:admin으로 로그가 찍히게 만들면 될 것 같습니다\n으로 줄바꿈을 해봅시다11\n125.142.116.177:admin 해결 끝~!~!^~^

웹/웹 보안 2018.09.09

webhacking.kr 24번 문제

24번 문제입니다! 들어가니 아래와 같이 제 IP와 Agent정보가 뜨네요!Wrong IP라고 뜨고있군요. 일단 소스를 살펴봅시다 index.phps가 주석처리되있네용. 들어가봅시다 IP주소가 127.0.0.1이면 해결되네요!!근데 그 전에 IP를 str_replace함수로 127.0.0.1이 나오지 않도록 공백으로 변환합니다 정말 그런지 볼까요? 쿠키값을 127.0.0.1로 설정해줍니다 str_replace함수때문에 127.0.0.1에서 1만 남았네용! 127.0.0.1이 결과로 남도록 만들면 될거같네요112277..00..00..1 요렇게! (빨간색은 공백으로 치환되는 부분!) 클리어~!~!

웹/웹 보안 2018.09.09

CVE-2006-5178

본 글은 ubuntu 18.04, php7.2를 기준으로 작성하였습니다.(php 7.2버전에서는 해당 취약점이 패치가 되었나봅니당 php4.x나 5.x로 다시 확인 예정!) what is open_basedir?open_basedir을 이용하면 함수(shell함수 제외)를 사용하여 파일에 접근할 수 있는 것을 제한할 수 있습니다.설정한 디렉터리에 있는 파일에만 접근할 수 있도록 제한해줍니다. 예를 들면, open_basdir=/var/www/html 으로 설정하면 html디렉터리 및 html디렉터리의 하위디렉터리에 있는 파일에만 접근할 수 있습니다.해당 디렉터리를 제외한 나머지 디렉터리는 제한됩니다. Set open_basedir!/etc/php/7.2/apache2/php.ini파일에서 설정해주면 됩니..

웹/웹 보안 2018.09.09

webhacking.kr 18번 문제

이번 문제는 SQL Injection문제네요!! 제가 제일 어려워하는 SQL Injection...호덜덜! 우선 index.phps를 들여다봅시다!여러 문자들을 필터링하고 no hack이라고 출력하고있네요. 그렇다면 저 문자들은 패스!쿼리의 결과가 guest면 hi guest를 출력하고, admin이라면 해결이 되는것 같네요그럼 관건은 쿼리의 결과를 admin으로 만들어 줘야하는것! 1을 넣어보았습니다. 결과로 hi guest가 나오네요select id from challenge18_table where id='guest' and no=1 쿼리가 날라갔겠네요 계정이 guest와 admin두 개만 있다면 테이블이 아래와 같을 거라고 예상할 수 있습니다.guest 1 admin 2 혹은admin0 guest..

웹/웹 보안 2018.09.06

webhacking.kr 17번 문제

17번문제를 클릭하니 입력받는 폼이 나옵니다 소스코드를 보면 엄청 긴 연산을 하고 그 결과값을 unlock에 넣어 입력받은값과 비교하여 일치하면 password를 출력하는 것을 알 수 있습니다처음에는 unlock을 계산해서 넣어 풀었습니다^~^...그런데 생각해보니 직접 계산 해 줄 필요가 없었답니다! password를 출력하기 전에 비교하는 if문을 지워주면 됩니다.. 요렇게.. 그러면 password가 출력됩니다^.^ Auth에 적어주면 해결 완료~!~!~

웹/웹 보안 2018.09.06

base64란?

What is base64?base64는 말 그대로 64진법이라는 뜻을 가지고 있습니다. 8bit Binary Data(Ex.실행파일, zip파일 등)를 64개의 ASCII문자로 변환하는 Encoding방식입니다. 여기서 64개의 ASCII문자는 대문자 알파벳(A-Z)26개, 소문자 알파벳(a-z)26개, 숫자(0-9)10개, 두 가지의 기호. 즉, 총 64개를 말합니다.메일에서 첨부파일(Ex.이미지, 오디오 파일)를 전송하기 위해 사용 하는 등 여러 방면에서 활용되고 있습니다. 플랫폼에서 binary data를 전송하기 위해 사용한답니다! Let's do this!'base'라는 문자열을 base64로 인코딩해봅시다! ① 우선 문자열을 ASCII로 변환해줍니다. 문자열 b a s e ASCII 98 9..

웹/웹 2018.09.05