프로젝트 현황 pcap으로 진행하던 프로젝트를 pcap으로는 진행이 불가능하다고 판단하여 raw socket으로 옮기고 echo server제작 실습 중. client 부분을 담당하여 git flow로 협업 알게 된 것들 프로젝트를 진행하고 코드를 분석하면서 알게 된 것들을 일단 정리 inet_pton 함수 https://techlog.gurucat.net/317 [네트워크/C reference] inet_pton 함수 기능 요약 (Summary)inet_pton( ) 함수는 사람이 알아보기 쉬운 텍스트(human-readable text)형태의 IPv4 와 IPv6 주소를 binary 형태로 변환 하는 기능을 한다. 헤더 (Header files)이 함수를 사용하려면 다음 헤더파 techlog.guru..
분석 이번 문제는 논리적 우회를 해야하는거 같은데.. id, pw 받고 따옴표 막혀있습니다. 그리고 입력 외에 result 된 id, pw에서도 preg_match를 적용합니다. 아무거나 넣어봅시다. 뭔가 이렇게 적으면 따옴표 우회가 될거같은 느낌인데. 여태 따옴표 우회를 hex로 했으니.. 근데 이거 왜 안되징 db에 admin이 없나...??? 그러면 union select로 admin을 어디선가 가져와야 할 텐데요 그냥 추가해도 될거같기도 하고 대충 아무거나 추가해보니까 query2 부분이 나옵니다. 아니 id는 admin이 맞기는 한데 아하 sqli 해서 나온 result를 sqli 해야하는구나 풀이 그럼 이제부터 또 query2 부분을 hex로 sqli 해봅시다. payload = input('..
분석 또 이렇게 생겼고 email을 구해야하네요. proc, union, sleep, benchmark가 막혀있습니다. /i 옵션도 있고요 이것저것 해보면서 든 생각 중 하나는 order by 에러를 이용하자는 것이었습니다. 더보기 뭐야 왜 동작해요 이것도 동작하네 다 동작한다면 정렬 순서를 가지고 참 거짓을 판별할 수 있지 않을까 싶습니다. 그냥 select 1 from member where user_id='admin'; 을 했을 시 admin이 없으면 empty set이지만 if문을 덧씌우면 1 0으로 출력이 가능.. 그러면 이걸 가지고 아니 왜 순서가 안 바뀌지 그냥 if user_id로 써버리면 row마다 비교해서 order by 할 것 같아서 위 처럼 했는데.. 로컬에선 안 되더라도 비슷한 원..
분석 이번엔 order을 get 방식으로 받고.. 위에 id, email, score 가 적혀있습니다. union 사용 불가 proc도? order by를 사용해서 order 칼럼으로 정렬하고 열을 받아서 id가 admin이면 이메일을 **************로 설정하고 표대로 출력합니다. 쿼리를 보낼 때 email도 받네요. id가 admin이고 email이 admin 이메일이 맞다면 문제를 풉니다. id에 대해서 정렬하면 이렇게 두 개의 계정이 존재하고 생각해보면 email이 ****.. 인건 result로 받아서 따로 출력할 때만 하는거라 db에 있는 메일은 변하지 않네요. 여기선 email을 알아내는 것이 문제인 것 같습니다. 쿼리가 참이면 표에 데이터가 나타나고.. order by에 관한 sq..
분석 이번 문제도 brute force. prob 등을 막아두고 col, if, case, when, sleep, benchmark 막힙니다. 에러가 발생하면..? exit라고 하는데 어떻게 되는지 봅시다. 아예 비어있는 칸이 뜨네요. if가 막혀있는 이상 union select를 활용해야 할 것 같은데.. union select를 사용해서 우선 length를 구하도록 만들건데 블라인드니까 가지고 있는 sql에서 테스트해봅시다. where에 그냥 from 없이 구성했더니.. 그래서 에러가 뜨나봅니다.? (다른 사람도 이렇게 쓰던데) union select 로 에러를 띄우려면 where 조건을 사용해서 컬럼보다 많은 값을 할당하는 건데 위처럼 union select를 사용하면 where 조건이 거짓이더라도..