write-up(web)
![[Webhacking.kr] Challenge old-48 write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FELBlS%2FbtrWD5wXR3a%2FAAAAAAAAAAAAAAAAAAAAANTPnpeE1QF5mqy5i2fK81mDmOO8PPKetJ2_oAY-wmAh%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DBvvMKJeAUwJlwoiRzpteAoXi8U4%253D)
[Webhacking.kr] Challenge old-48 write-up
문제 화면 입니다. 파일과 댓글을 작성할 수 있습니다. 버프스위트로 확인해보면 파일 이름을 조작할 수 있습니다. 파일 이름을 조작해서 xss 코드를 작성할 수 있어서 xss문제인 줄 알았으나 결론적으론 읽어줄 봇이 없어서 xss문제가 아니였습니다. 이 문제에서 중요한 부분은 삭제할 때 입니다. 아파치는 리눅스를 기반으로 만들어져서 rm 명령어를 사용합니다. rm 명령어를 수행할 때 파일 이름을 사용하며 이 값은 사용자가 입력합니다. 사용자의 입력 값에 대한 검증 로직이 존재하지 않으므로 커맨드 인젝션이 가능하게 됩니다. 파일 이름을 아무렇게나 작성해준 뒤 ;ls 를 통해 커맨드 인젝션을 수행하면 플래그를 획득할 수 있습니다!
![[Webhacking.kr] Challenge old-37 write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbG99yA%2FbtrUEwjrgnS%2FAAAAAAAAAAAAAAAAAAAAAIRNbUoDK8CQ1SA_JdgzzoNZ3WtCelxnsL8A-6eRVRrC%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D%252FDNt5vsnuMdYFKjFt6NGKcdl54s%253D)
[Webhacking.kr] Challenge old-37 write-up
문제 화면입니다. view-source 문제 소스 코드입니다. if 문 안을 실행시키려면 타이밍을 맞춰서 해당 시간의 문자열을 가진 파일을 업로드 해야 합니다. 이후 소켓을 통해 플래그를 쏴줍니다. 이를 받기 위해 포트포워딩을 해야 합니다. 버프스위트로 패킷을 잡아서 타이밍에 맞게 전달해주면 플래그가 나옵니다!
![[Webhacking.kr] NotSQL write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FBt5OO%2FbtrUoj0jQBO%2FAAAAAAAAAAAAAAAAAAAAAIqfZDKDgaKTixL-M92wp6hvqswneQxj6i8_e8uNwTSF%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D8UdOIPF3UzLxzdUDW8jQJulGzRA%253D)
[Webhacking.kr] NotSQL write-up
문제에 접속한 뒤 네트워크 탭을 열고 링크들을 들어가보면 view.php 라는 친구가 무언가 처리를 해주고 있음을 알 수 있습니다. view.php로 가서 에러를 일으켜보면 GraphQL이라는 친구를 db로 사용하고 있음을 알 수 있습니다. 깃허브 치팅시트를 찾아보면 아래와 같은 코드가 있습니다. __schema{queryType{name},mutationType{name},types{kind,name,description,fields(includeDeprecated:true){name,description,args{name,description,type{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType{kind,name,ofType..