Category Archives: รวม code ทั้งมั่วเอง ทั้งจิ๊กชาวบ้านมา

[php] simple fsockopen use cookie login pantip.com

Filed under รวม code ทั้งมั่วเอง ทั้งจิ๊กชาวบ้านมา

พอดี ไปตอบ กระทู้ใน pantip มา .. ลากยาว หลาย comment ก็เลย เอา code มาลงทิ้งไว้ที่นี่ ซักหน่อย
เพราะ เดี๋ยวนานๆ แล้วกากระทู้ไม่เจอ

สำหรับคนอยากต่อยอด งมเรื่อง header, chunked

ที่มา http://www.pantip.com/tech/developer/topic/DW3044972/DW3044972.html#8

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?
set_time_limit(0);
 
$username = 'windows98SE';
$password = '';
$testpage = '/tech/developer/listD.php';#

$cookie = get_cookie_pantip($username, $password);
echo get_page_pantip($testpage, $cookie);
 
 
 
function http_send($host, $packet){
  if (!($sock = fsockopen($host, 80))) die( "\n[-] No response from {$host}:80\n");
  fwrite($sock, $packet);
  return stream_get_contents($sock);
}
 
function get_cookie_pantip($username, $password){
  $data = 'Nickname='.rawurlencode($username).'&Password='.rawurlencode($password).'&Remember=1&AutoLogin=1&Expire=4&step=1';
  $packet  = "POST /index.php HTTP/1.1\r\n";
  $packet .= "HOST: members.pantip.com\r\n";
  $packet .= "Accept: */*\r\n";
  $packet .= "Content-Type: application/x-www-form-urlencoded\r\n";
  $packet .= "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204\r\n";
  $packet .= "Content-Length: ".strlen($data)."\r\n";
  $packet .= "Connection: close\r\n\r\n".$data;
  # grep cookie
  if(!preg_match("/Set-Cookie: ckPantipMember=([^;]*);/", http_send("members.pantip.com", $packet), $cookie)) die("\n[-] cookies not found!\n");
  return $cookie[1];
}
 
function get_page_pantip($page, $cookie){
 
  $packet  = "GET $page HTTP/1.1\r\n";
  $packet .= "HOST: www.pantip.com\r\n";
  $packet .= "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204\r\n";
  $packet .= "Cookie: ckPantipMember=".$cookie.";\r\n";
  $packet .= "Connection: Close\r\n\r\n";
  $resp = http_send("www.pantip.com", $packet);
  $response = explode("\r\n\r\n", $resp, 2);
  $header=$response[0];
  $responsecontent=$response[1];
  if(!(strpos($header,"Transfer-Encoding: chunked")===false)){
	$aux=split("\r\n",$responsecontent);
	for($i=0;$i<count($aux);$i++) if($i==0 || ($i%2==0)) $aux[$i]="";
	$responsecontent=implode("",$aux);
  }
  return chop($responsecontent);
}
 
?>

คหสต. ผมว่า … เมืองไทย
- จบ โปรแกรมเมอร์ เยอะ .. แต่ เขียนได้จริงๆ น้อย ยิ่งบางมหาลัย .. จบหลักสูตรคอมมา แต่ทั้งห้อง อาจจะเขียนได้แค่ 2-3 คน เท่านั้น
แต่ก็พูดยาก .. คอมมันมีแตกแยกแขนง ออกมาเยอะ หลายภาษา
ดังนั้น อาจจะ ไม่ได้จับ php หรือ ภาษาทาง programming ออกมา ตอนจบ
แต่ไปจับ พวกกราฟฟิคแทน ก็เป็นไปได้ จริงมะ ?

- เป็น ผู้ดูแล เน็ตเวิค เยอะ แต่เท่าที่ดู ก็ยังไม่ค่อยมี คนที่เป็น ทั้ง 2 อย่าง แฮะ
เป็น เพราะ มหาลัย ไม่ค่อยมีสอน ต้องนั่งอ่านกันเอาเอง หรือป่าว ?

- ที่ผมเห็นเทพๆ เป็นมันทั้งหมด เป็นมันยัน binary ก็มี นะ … แต่ก็ส่วนน้อย จริงๆ (แต่ทำไมผมเจอฝรั่ง เป็นกันเกลื่อนมากก เพราะ เค้า ไม่ปิดกันเรื่อง hack หรือป่าว ?)

จาก ประสพการณ์ผมที่ผ่านมา หากใครที่ กำลัง กระโดดเข้ามา วงการ network ผมว่า ก๊วนนี้ กั๊กความรู้สุดๆ
สมัย ซัก 3 ปีที่แล้ว ผมยังไม่รุ้เรื่อง linux/server เลย .. แค่ค่า setup linux คิด ตั้ง 5k บาท
… พระเจ้า !! เพิ่มอีก 6k ซื้อ sv เครื่องนี้ ได้อีกเครื่องเลยนะ !!!
(คอมประกอบ mini case.. เจ้าของก็ไม่ค่อยเป็น เน้นมั่วไปวันๆ .. แต่ก็ยังอึดอยุ่ได้มาถึงปัจจุบัน)

อันนี้ ความเห็นส่วนตัวนิดหนึ่ง .. พวกร้านที่รับลง widdows แล้วคิดตัง 300-500 อ่ะ
ผมว่า เกินไป จริงๆ นะ คลิกแค่ 5 ครั้งเองมั้ง ที่เหลือคือ รอมันติดตั้ง ไม่ถึง 1 ชม. ก็เสร็จแระ

แต่เวลาไปเจอ พวกที่ ทำอะไรไม่เป็นเลยสอนให้ก็ไม่จำ
อยากจะให้พวกคนเหล่านี้ ไปโดนค่าลง windows ซักครั้งละ 1000 บาท
เผื่อจะรู้สึก เสียดายเงิน แล้ว หัดลงเอง ซะบ้าง เหมือนกัน :P

ปล. อยากมีคนสอน มั่งจัง .. เริ่ม เบื่อ การหาอ่านเอง ^^

Protected: how to bypass function SQLi check ?

Filed under รวม code ทั้งมั่วเอง ทั้งจิ๊กชาวบ้านมา

This post is password protected. To view it please enter your password below:


[perl] Add New VirtualHost for Blackbuntu

Filed under รวม code ทั้งมั่วเอง ทั้งจิ๊กชาวบ้านมา
Tagged as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/perl -w
##########
# Command
# sudo echo ${SITE}>>/etc/hosts
# <create /etc/apache2/sites-available/${SITE}>
# sudo a2ensite ${SITE}
# sudo /etc/init.d/apache2 restart
#
# *This file need root
 
my $SITE = $ARGV[0];
my $USER = 'unknown';
my $PATH = '/home/'.$USER.'/www/';
 
if(!$SITE){
  print "[+] Input Site Name:";
  chomp ($SITE = <>);
}
 
my $FOLDER = $PATH.$SITE;
if(-d $FOLDER){
  die "$FOLDER exists\n" 
}else{
  my $step_1_create_folder = `mkdir $FOLDER && chown $USER:$USER $FOLDER`;
}
 
 
my $step_2 = `echo 127.0.0.1\t${SITE}>>/etc/hosts`;
my $step_3 = &write_file('/etc/apache2/sites-available/site.'.$SITE, make_file($PATH, $SITE));
my $step_4 = `a2ensite site.${SITE} && /etc/init.d/apache2 restart`;
 
 
 
sub make_file {
  return '<VirtualHost *:80>
  ServerName '.$_[1].'
	ServerAlias '.$_[1].' *.'.$_[1].'
	ServerAdmin admin@stephack.com
	DocumentRoot '.$_[0].$_[1].'
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
	<Directory '.$_[0].$_[1].'/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
 
	ErrorLog '.$_[0].'error.log
	CustomLog '.$_[0].'access.log combined
</VirtualHost>
';
}
 
sub write_file {
  my $file = $_[0];
  my $content = $_[1];  
  open F, "> $file" or die "Can't open $file : $!";
  print F $content;
  close F;
}