write-up(web)
![[Webhacking.kr] ouroboros golf write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcufyC3%2FbtrPIQVmQlP%2FGOfp8EPcQH46wFxHgktvb0%2Fimg.png)
[Webhacking.kr] ouroboros golf write-up
문제 화면 및 소스 코드입니다. los의 ouroboros와 동일한 문제이며 quine 쿼리를 이용하는 문제입니다. 아래는 다른 글을 참고해 경량화된 페이로드입니다. https://ssongkit.tistory.com/162 [Lord of SQLInjection] ouroboros write-up 문제 화면입니다. 참인 조건을 넣어줬을 때 아무 일도 일어나지 않습니다. 아마 테이블의 pw컬럼은 비어 있는 것 같습니다. 도저히 모르겠어서 라이트업을 보니 Quine이라는 친구를 사용한다고 합 ssongkit.tistory.com https://blog.limelee.xyz/entry/LOS-zombie [LOS] zombie 문제 의도의 기능을 알고 있었으면 간단하게 풀리고 아니면 엄청 삽질하게 될 수 있..
![[Webhacking.kr] Challenge old-59 write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMSWaw%2FbtrPJpbbEdp%2Fg4HYY8b3FTthaCZkTzaej1%2Fimg.png)
[Webhacking.kr] Challenge old-59 write-up
문제 화면입니다. 문제의 소스 코드입니다. lv가 admin인 계정으로 로그인하면 되는 문제입니다. 일단 addslashes 때문에 문자열을 직접 넣지 못합니다. 또한 컬럼별로 타입이 다른데 id는 문자 타입, phone은 숫자 타입, lv는 문자 타입입니다. 해당 필드의 데이터 타입도 맞춰줘야 정상적으로 sql 구문이 실행됩니다. 여기서 id 필드가 주요하게 작용합니다. 아래와 같이 페이로드를 작성할 수 있는데 문자열을 거꾸로 출력하는 reverse함수를 사용할 수 있습니다. 문제가 풀렸습니다! 내장 함수에 필드 변수를 넣을 수 있다는 점이 인상깊었고 거의 다 왔는데 라업을 본 것 같아서 약간 아쉬웠던 문제..
![[Webhacking.kr] Challenge old-30 write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjWAWM%2FbtrOQdR2vml%2FSIuiezczYjsLlne3o3KmWk%2Fimg.png)
[Webhacking.kr] Challenge old-30 write-up
(old-28과 마찬가지로 멘토님이 도와주신 문제..) 문제 화면입니다. 문제의 소스 코드입니다. die 함수를 전부 피하고 결과 값이 존재하면 플래그를 얻을 수 있습니다. 그냥 index.php로 가면 아무것도 출력되지 않아서 die 함수가 실행됐음을 알 수 있습니다. 접근 방식은 이전 old-28과 비슷한데 에러를 일으켜보면 사용되는 서버가 아파치 서버임을 알 수 있습니다. mysqli_connect()에 인자로 설정된 값이 없으면 php.ini의 디폴트 값을 가져와서 실행하는데 .htaccess 파일로 해당 디렉터리 내의 디폴트 값을 설정해 줄 수 있습니다. https://www.php.net/manual/en/configuration.changes.php PHP: How to change conf..
![[Webhacking.kr] Challenge old-28 write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FI5VWV%2FbtrOlI5z4Ct%2FDK1vo4jKfRvQaICHYinLb1%2Fimg.png)
[Webhacking.kr] Challenge old-28 write-up
(멘토님의 도움을 받아 푼 문제..) 문제 화면입니다. 미션이 flag.php를 읽는 것입니다. 링크를 따라 들어가면 백지상태로 나옵니다. 또한 php 파일을 통해서 읽어오려해도 < 문자를 없애버려서 할 수 없었습니다. 이 문제는 서버의 종류가 아파치이고 서버 설정이 미흡해 취약점을 가지고 있다는 점을 가지고 접근해야 합니다. (mis-configuration) 오류를 통해 서버 종류가 아파치임을 알 수 있습니다. https://httpd.apache.org/docs/2.4/en/mod/core.html core - Apache HTTP Server Version 2.4 This directive enables operating system specific optimizations for a listen..
![[Lord of SQLInjection] zombie write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsXqjI%2FbtrNVkWIksa%2FWNAL8MmKd20LszkKfQvolK%2Fimg.png)
[Lord of SQLInjection] zombie write-up
문제 화면 입니다. 이전 문제인 ouroboros처럼 입력과 결과가 동일해야 문제가 풀립니다. 이전 문제와 다른 점은 replace의 ace를 필터링하고 _ 문자는 필터링하지 않습니다. 따라서 information_schema 테이블을 활용할 수 있습니다. 서치하던 중 information_table의 processlist라는 테이블에 현재 실행 중인 쿼리가 저장된다고 합니다. processlist 테이블의 컬럼은 위와 같습니다. 이 중 info에 쿼리가 저장되어 있습니다. info 컬럼을 조회하면 쿼리가 튀어나옵니다. 이 녀석을 이제 잘라줘야 합니다. 이렇게 잘라서 GET['pw']와 result['pw']를 똑같이 만들었지만 문제가 풀리지 않았습니다. 그 이유는 substr의 3번째 인수를 지정해주지..