Archive

Archive for January, 2015

เราสามารถเปลี่ยนแปลงทางด้านจิตใจจนเป็นอีกคนได้หรือไม่

January 26th, 2015 Comments off

บังเอิญผมไปเจอคำถาม นี้ ใน Quora ครับ เค้าถามว่าเป็นไปได้ไหมที่เราจะเปลี่ยนแปลงทางด้านจิตใจจนเปลี่ยนเป็นคนละคน ผมเห็นว่าคำตอบของ นิโคลัส น่าสนใจดีก็เลยแปลให้อ่านกันครับ นิโคลัสตอบดังนี้ครับ

 

นิโคลัส : ผมทำได้

นิโคลัส :

completly change

 

ผมขอใช้ภาพด้านบนเพื่อเสริมคำตอบของผม แต่การเปลี่ยนทางด้านกายภาพเป็นเพียงแค่ส่วนน้อยเท่านั้น

ภาพด้านซ้ายเป็นภาพผมตอนอายุ 15 หนัก 90 ปอนด์ (ราว ๆ 45 กิโลกรัม) ผมป่วยทุกวัน (ได้รับการวินิจฉัยว่าเป็น Celiac desease ภูมิแพ้กลูเตน) ผมขาดโรงเรียนอาทิตย์ละ 2-3 วัน ผมเรียนได้เกรดซีเป็นอย่างมากสำหรับทุกวิชา ผมเล่น WOW แบบหามรุ่งหามค่ำ ผมมีเพื่อนน้อยเพื่อนที่มีก็เป็นพวกที่เจอในเน็ต ผมอ้างว้างและซีมเศร้า นอนไม่หลับไม่ต้องสงสัยว่าเกิดจากการเล่นเกมส์จนดึกดื่น ผมมีมุมมองโลกแต่ในแง่ลบ บ่อยครั้งที่ผมพยายามฆ่าตัวตายหรือหนีออกจากบ้าน

ภาพด้านขวาถ่ายตอนผมอายุ 23 ปี ผมไม่ดื่มไม่สูบ กินแต่อาหารที่มีประโยชน์เพื่อที่โรคประจำตัวจะได้ไม่กำเริบ ผมขาดงานน้อยมาก และจบมาจากมหาวิทยาลัยด้วยเกียรตินิยม เกรดเกือบสี่ (สำหรับคนที่เกมส์เรื่องเกรด ผมทำได้ตอนที่ยังเล่น WOW) ผมมีเพื่อนที่โรงยิมแถวบ้านและเข้าร่วมแวดวงนักกล้าม ผมทำงานในบริษัทโฆษณางานส่วนใหญ่ต้องพบปะผู้คนมาก ผมนั่งสมาธิทุกวันและนอนหลับสนิท ผมมองตัวว่ามีพลังในการสร้างสรรค์ ผมใช้เวลาอย่างหนักในแต่ละวันเพื่อให้คนอื่นตระหนักถึง ความสามารถของตัวเองและกลายเป็นคนที่เขาอยากจะเป็น

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

และคุณรู้ไหมนั่นเป็นสิ่งที่สวยงาม

Categories: Self-Change Tags:

Whiplash อะไรทำให้คนก้าวข้ามผ่านขีดจำกัด

January 26th, 2015 Comments off

ผมชอบหนังเรื่องนี้มากตรงที่ว่าเป็นหนังเกี่ยวกับดนตรีเรื่องแรกที่ดูแล้ว อึ้งว่าดนตรีมันก็หลักเหลี่ยมกันได้แฮะ แนะนำว่าเป็นหนังที่ดูเรื่องหนึ่งเลยครับ

whiplash-jk-simmons

ประเด็นที่ผมอยากจะพูดเกี่ยวกับหนังก็คือ ไอ้วิธีการที่ เฟลชเชอร์ ใช้ตลอดทั้งเรื่องมันคือวิธีการที่ถูกหรือเปล่า ? การกดดันเพียงอย่างเดียวสามารถทำให้เราก้าวข้ามผ่านขีดจำกัดได้หรือไม่ ?

ผมเรียนโรงเรียนคริสต์เตียนแห่งหนึ่งในจังหวัดเชียงใหม่ สมัยประถมมีมาสเตอร์ท่านหนึ่งสอนวิชาภาษาอังกฤษ มาสเคอร์อันโตนิโอ (เรียกกันเล่น ๆ ในหมู่ผู้ปกครองว่า “ปู่โต”) แกมีวิธีการสอนที่เป็นที่เลื่องลือครับ ทุกครั้งที่แกสอนภาษาอังกฤษแกจะมาพร้อมกับไม้ไผ่พันมาสกิ้งเทปยาวเมตรกว่า แกสอน conversation เป็นหลักแต่จะเน้นการอ่าน (หนังสือการอ่านของแกเป็นเล่มสีเหลือง ๆ เล็ก ซึ่งมีมุขตลกประปราย) แต่วิธีการสอนของแกค่อนข้างจะเครียดครับ แกจะสุ่มให้นักเรียนอ่านเป็นรายบุคคล ใครอ่านไม่ได้จะโดนฟาดด้วยไม้ที่แกเตรียมมา เสียงฟั่บดังและฟังชัด พร้อมกับด่าว่าไอ้ควายใบ้

ผลครับสมัยนั้นโรงเรียนเป็นที่เลื่องลือในความเก่งภาษาอังกฤษของบรรดานักเรียนครับ แต่สำหรับผมเอากันจริง ๆ แทบไม่ได้อะไรครับ พื้นฐานที่ดีส่วนใหญ่มาจากการท่อง vocab ที่ครูภาษาไทยเป็นคนสอนมากกว่าครับ แต่ก็ถือว่ามีพื้นฐานทางภาษาที่ดีพอสมควรแต่ยังพูดภาษาอังกฤษไม่ได้ครับ

จนกระทั่ง ม.ปลาย ครับ ม.ปลายจะมีมาสเตอร์สอนพร้อมกับครูต่างชาติครับ เน้นการสนทนาเป็นหลัก วันหนึ่งผมโดนถามในห้องครับซึ่งก็ตามสไตล์ผมแต่งประโยคที่จะพูดเองซึ่งก็ทำให้มาสเตอร์ค่อนข้างพอใจครับ แกก็ชมผมครับ คือ มันไม่ใช่แค่ feedback ที่ดี แต่มันบอกเราว่าจุดแข็งของเราคืออะไรใช้ประโยชน์ได้อย่างไร ตั้งแต่นั้นผมไม่กลัวภาษาอังกฤษอ่าน text และพูดกับชาวต่างชาติได้อย่างสบาย ๆ

เพราะฉะนั้นการกดดันของ เฟลชเชอร์ หรือปู่โตไม่ได้สร้างอะไรขึ้นมา ไม่ได้บอกว่าอะไรคือจุดแข็งจุดอ่อนที่ควรแก้ ผมไม่ได้ต่อต้านวิธีการที่กดดันนะครับ แต่การจะกดดันต้องบอกด้วยว่าอะไรคือสิ่งที่ทำพลาดไปและอะไรคือจุดแข็งที่สามารถทำให้ตัวผู้รับพัฒนาขึ้นได้ครับ

Categories: Film Tags:

Fury หนังที่ดูแล้วเกิดคำถาม

January 25th, 2015 Comments off

fury11

หลังจากดู Fury จบผมรู้สึกว่ามันไม่ใช่แค่หนังสงครามที่ดูเอามันเฉย ๆ แต่หนังแสดงให้เห็นการเติบโตของ นอร์แมน พลทหารที่มาประจำเป็นผู้ช่วยคนขับคนใหม่ เริ่มจากการเป็นคริสเตียนที่เคร่งครัด ไม่พรากชีวิตคน แต่มาพบเหตุพลิกผลันทำกลายเป็นอีกคน ช่วงท้าย ๆ ของหนังเค้าไม่กลัวที่จะเหนี่ยวไกเพื่อฆ่านาซี ทำให้เห็นว่าสงครามเปลี่ยนคนได้ แต่คำถามที่หนังถามกับเราจริง ๆ คือ

อะไรคือคนดี อะไรคือคนเลว

คนแบบนอร์แมนที่คนอื่นเชื่อว่าเป็นคนดี เป็นคนแรกที่ก้าวขาออกมาเพื่อยันทหาร 300 คนกับจ่า กับทหารคนอื่นที่แสดงออกมาอย่างกักขฬะทั้งเรื่อง แต่อยู่กับจ่าจนวินาทีสุดท้าย เราสามารถที่จะตัดสินคนว่าดีหรือเลวได้จากการกระทำเพียงครั้งเดียวได้ไหม คนแบบนอร์แมนเลวไหมที่หนีเอาตัวรอดคนเดียว แล้วคนแบบเกรดดี้ที่มีปัญหามาทั้งเรื่องยอมตายกับจ่าแม้จะอิดออดบ้างถือว่าเป็นคนดีไหม

ดูเหมือนว่าจะไม่มีคำตอบสำหรับเรื่องนี้ไม่ว่าจะในหนังหรือในชีวิตจริง

 

Categories: Film Tags:

ใช้ selenium+tesseract ทดสอบ Captchar

January 23rd, 2015 Comments off

ส่วนใหญ่พวก web app เราจะใส่พวก captchar ด้วยในหน้า login หรือฟอร์มต่าง ๆ เพื่อกันบอทโพสข้อมูลหรือ login ซ้ำ ๆ จนได้ password ใช่ไหมครับ แต่เราเคยสงสัยไหมครับว่า captchar ของเรานี่ดีในระดับไหน

 

ผมขอเล่าวิธีการทดสอบง่าย ๆ โดยใช้ selemiun กับ tesseract ละกันครับ โดยขอบเขตของการทดสอบคือใช้กับ captchar ที่เป็นตัวอังกฤษภาษาอังกฤษผสมตัวเลขเท่านั้นครับ ภาษาที่ใช้เป็น python ครับ นี่เป็นหน้าตาของส่วน login ที่เราจะทดสอบนะครับ captchar เป็นตัวเลขล้วนครับ

login

 

ผมจะอธิบายโค้ดทีละบรรทัดนะครับ

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import sys, string, os, time

#ด้านบนเป็นการ import lib ทั้งหมดครับ


driver = webdriver.Firefox()
driver.get(“http://www.xxx.com/login”)

#เลือก driver ที่เราจะใช้ในการทดสอบตามโค้ดเป็น firefox เมื่อ run จะเปิด firefox ขึ้นมาครับ

assert “Login” in driver.title

#ดูว่า title ของ page มีคำว่า Login หรือไม่ครับ

driver.save_screenshot(‘screenshot.png’)

#ทำ ss ของหน้าเว็ป ตรงนี้สังเกตว่าต้องใช้ ss เพราะ captchar จะเปลี่ยนมี refresh ใหม่ทุกครั้งครับ

os.chdir(‘C:\Program Files\ImageMagick-6.9.0-Q16’)
os.system(‘”convert -crop 145×45+750+270 c:\screenshot.png c:\ss.png”‘)
os.chdir(‘C:\\’)
os.system(‘tesseract ss.png test -psm 7’)

#หลังจากที่ได้ ss แล้วเราก็ crop ภาพให้เหลือแต่ส่วนที่เป็น captchar ครับ แล้วใช้ tesseract ที่เป็น opensource orc แกะตัวอักษรออกมา -psm 7 คือให้อ่านออกมาเหมือนว่ามีบรรทัดเดียวครับ

f = open(‘C:\\test.txt’,’r’)
captchar = f.read()
output = ”
for char in captchar:
if ‘0’<= char <= ‘9’:
output=output+char

#หลังจากได้ captchar มาแล้วจะมีบางส่วนที่อ่านไม่ได้ครับแล้วออกมาเป็นตัวอักษรแปลก ๆ ครับ เราจะต้องกรองให้เหลือแค่ตัวเลขครับ

s = ‘ren ss.png ‘+output+”.png”
os.system(s)

#พอได้ตัวเลขแล้วก็เปลี่ยนชื่อไฟล์เพื่อเช็คว่า captchar ที่อ่านได้ถูกกี่เปอร์เซ็นต์ โค้ดตัวอย่างไม่ได้ทำ for loop นะครับ แต่ผมทดสอบไป 100 ครั้งได้ผลตามสรุปครับ

สรุปแล้วผลที่ผมได้คือ 63% อ่านได้ถูกต้องตัวเลขครบทั้งหกตัว 24% ตัวเลขครบหกตัวแต่จะอ่านตัวเลขผิดส่วนที่ผิดมาก ๆ จะเป็นอ่านเลขแปดเป็นเลขสามครับ อีก 13% อ่านตัวเลขได้ไม่ครบทั้งหกตัวครับ

ซึ่งถ้าเราปรัปเปลี่ยนให้อีก 13% ที่อ่านตัวเลขได้ไม่ครบกลับไป recursive อีกครั้งความเป็นไปได้ที่เราจะอ่าน captchar ได้อย่างถูกต้องจะอยู่ที่ 71% ครับ

จริง ๆ ผมไม่แน่ใจว่า captchar นี่ควรจะกันบอทได้อย่างน้อยกี่ % แต่เข้าใจว่าเกิน 60% ถือว่ามากเกินไปและควรจะเปลี่ยน อ้างอิงจาก recaptchar ของ google ที่มีคนแกะจนอ่านได้เกิน 60% แล้วเริ่ม implement มาใช้ภาพแทนครับ

–วิธีลง PhantomJS บน ubuntu https://gist.github.com/julionc/7476620

Categories: Security Tags:

XSS บน ssballthai.in.th

January 21st, 2015 Comments off

อีกปัญหาที่ผมพบบน ssballthai.in.th คือ เวลาตอบคอมเมนต์หรือตั้งกระทู้สามารถแทรก javascript ที่เป็น xss ได้ครับ ตอนนี้ยังมีปัญหาเหลืออยู่แต่จะอยู่ในการ preview ก่อนตอบหรือตั้งกระทู้ครับ

xss

ตรงนี้ปัญหาเกิดจากการแทรกรูปที่ยอมให้แทรก tag img ได้ครับ โค้ดที่ผมใช้ก็คือ onload=”alert(‘xss’)” เวลาที่ภาพโหลดขึ้นมาตัว javascript ก็จะทำงานครับ

 

จริง ๆ ผมไม่ค่อยเก่งเรื่อง javascript เท่าไหร่แต่เข้าใจว่าอย่างน้อยปัญหานี้ ทำให้สามารถตั้งกระทู้ที่ทุกคนที่เข้ามาในกระทู้สามารถแผล่บให้เราโดยอัติโนมัติได้ หรือบังคับให้โพสหรือส่ง cookie ไปยัง server ที่ต้องการได้ครับ ซึ่งทำให้สามารถเอา cookies ของ admin มาเป็นของตัวเองได้ (ส่วนนี้ถ้ามีใครเข้าใจการทำงานของ cookie รบกวนเพิ่มเติมให้ด้วยครับ เพราะเข้าใจว่าในปัจจุบันการขโมย cookie อย่างเดียวใช้ไม่ได้แล้วเพราะจะ cross check กับ ip address)

 

วิธีการป้องกัน xss ก็คือใช้พวก framework ที่มี feature ป้องกัน xss หรือพวก html puifier กรองโค้ดที่เป็นอันตรายออกก่อน

Categories: Security, XSS Tags:

แผล่บตัวเองบน ssballthai.in.th

January 20th, 2015 Comments off

อดีตเว็ป soccersuck ทำเว็ปใหม่มาได้ซักพักครับ มี feature ใหม่ คือ แผล่บ ซึ่งก็คล้าย ๆ กับ like บน facebook นี่แหละครับ ไอ้แผล่บที่ว่าสามารถเอาไปแลกไอเทม หรือเลื่อนยศผู้ใช้งานได้ครับ ทำให้ แผล่บ เป็นที่ต้องการ

 

เราสามารถกดปุ่มแผล่บเพื่อแผล่บ “ให้คนอื่น” ได้ครับ สามารถแผล่บได้เดือนละ 200 แผล่บต่อเดือน แน่นอนว่าแผล่บให้ตัวเองไม่ได้ครับไม่งั้นก็แผล่บให้ตัวเองรัว ๆ ได้ หน้าตามปุ่มแผล่บก็ไอ้หน้าเลีย ๆ นี่แหลครับ

ขั้นตอนการแผล่บก็ง่าย ๆ ครับ ถ้าใช้ firebug ดู จะเห็นว่าแต่ละคอมเมนต์มีค่า string กำกับแผล่บอยู่ ถ้าเรากดแผล่บก็จะส่งค่า string ดังกล่าวกลับไปที่ server ทีนี้การกดแผล่บให้ตัวเองก็ง่าย ๆ ครับ ใช้ firebug ดูค่า string แผล่บคอมเมต์เราแล้ว copy ค่าดังกล่าวไปใส่ที่ปุ่มแผล่บคนอื่น เท่านี้เราก็จะสามารถแผล่บให้ตัวเองได้แล้วครับ

lick

ตามภาพ string ของแผล่บคือ Mjg0M….. นี่แหละครับ แค่นี้เราก็สามารถแผล่บให้ตัวเองได้แล้วครับ

 

Categories: Security Tags:

3G แมวเหมียวปล่อยให้เข้าถึง services บนลูกข่ายได้

January 19th, 2015 Comments off

เรื่องนี้เกิดช่วงต้นปี 57 ครับ ผมเพิ่งเคยใช้ 3G ผ่านมือถือเป็นครั้งแรกครับ เจ้าแรกที่ใช้คือ แมวเหมียวครับ 350 บาท/เดือน data unlimited ผมใช้ผ่าน aircard ครับไม่ได้เอาใส่โทรศัพท์แต่อย่างไรครับ

 

ถ้าใช้คำสั่ง ifconfig จะเห็นว่าคอมพิวเตอร์ได้ Ip address ในช่วง 10.x.x.x ครับ ซึ่งเป็น Private ip address ซึ่งโดยปกติอุปกรณ์ใน network address เดียวกันสามารถเข้าถึง services ต่าง ๆ ได้ครับ (เข้าใจว่าต้องประหยัด ip address เพราะขืน assign public ip ให้อุปกรณ์ mobile มีหวัง ip หมด range แน่นอนครับ)

 

ผมเลยลองใช้ nmap scan ดูพบว่ามี client up อยูจำนวนหนึ่ง แต่ปัญหาคือโดยปกติ 3G เราใช้กับโทรศัพท์ใช่ไหมครับ แล้วมี service ไหนที่เราสามารถเข้าถึงอุปกรณ์ได้โดยตรงหรือเปล่า สุดท้ายผมไปเจอว่าบน iphone ที่ jailbreak สามารถเข้าถึงผ่าน port 22 ได้ครับ

 

ซึ่ง jailbreak จะมี default username/password คือ root/alpine ครับ วิธีหาก็คือ > “ncrack -v –user root –pass alpine 10.x.x.x/24:22” ครับ ถ้า hit ncrack จะบอกเองครับ

 

เมื่อเราสามารถเข้าถึงอุปกรณ์ผ่าน ssh ได้แล้ว ก็สามารถเข้าถึงไฟล์ต่าง ๆ รวมถึง message/call log ได้ครับ ลองดู structure ของไฟล์บน iphone ได้ ที่นี่ ครับ

 

Note ผมแจ้งทางแมวเหมียวไปตอนนี้ใช้ nmap scan จะถูก fillter หมดแล้วครับ จริง ๆ ก็เป็นบทเรียนนะครับว่า product ที่เราไม่เคยทำมาก่อนจะมีปัญหาใหม่ซ่อนอยู่

Categories: Security Tags: