อย่าเชื่อ Tools จนเกินไป : กรณี joomscan

ได้ยินหลายคนพูดถึงการใช้งานตรวจสอบ Website โดยเฉพาะ Joomla โดยใช้เครื่องมือที่ชื่อว่า joomscan ก็เลยลองติดตั้ง และ ทำการทดสอบกับ Web Server ใน VirtualBox ที่มีช่องโหว่ JCE ที่เจาะได้แน่ๆ เพื่อดูว่าเครื่องมือนี้ทำงานอย่างไร   ทำการโจมตีจาก Kali Linux ไปยังเครื่องเป้าหมาย ด้วย joomscan   รายงานผลแจ้งว่า joomscan มีการ Update ล่าสุด เมื่อ Oct 22, 2012 นั่นคือเมื่อ 4 ปีที่แล้ว รายผลที่แจ้งช่องโหว่ ที่เจาะได้ มีดังนี้ แสดงให้เห็นว่า ด้วย Tools ตัวเดียวอาจจะไม่สามารถมั่นใจได้ว่า ระบบของเราปลอดภัยหรือไม่ ฝากไว้พิจารณาครับ      

Read More »

การ Compile ออนไลน์

เมื่อนักพัฒนาระบบต้องการเขียนโปรแกรมภาษาอะไร จำเป็นต้องทำการติดตั้ง Compiler สำหรับภาษานั้น ๆ เสียก่อน Compiler จะทำหน้าที่แปลภาษา Programming ไปเป็นชุดคำสั่งของเครื่อง เพื่อทำงานตามที่นักพัฒนาต้องการ บทความนี้จะแนะนำบริการออนไลน์สำหรับทดสอบ Code ภาษาต่าง ๆ ที่มีชื่อว่า compileonline ซึ่งสามารถทดสอบ Code ผ่านทางเว็บไซต์ เพื่อดูผลลัพธ์ โดยไม่ต้องเสียเวลาติดตั้ง Compiler หรือเปิด Developer Tool เอง สำหรับการทดสอบเล็ก ๆ น้อย ๆ ค่ะ ขั้นตอน ดังนี้ ไปที่ http://www.compileonline.com/ จากนั้นเลือกภาษา / Develop tool ที่ต้องการ ในที่นี้เลือก C# แสดงหน้าจอ ดังนี้ ตัวอย่าง C# คลิกปุ่ม “Compile” จะแสดงผลดัง Terminal ด้านล่าง –> สีแดง คลิกปุ่ม “Execute” จะแสดงผลดัง Terminal ด้านล่าง –> สีน้ำเงิน ตัวอย่าง JavaScript เลือกภาษา / Develop tool ที่ต้องการ ในที่นี้เลือก JavaScript แสดงหน้าจอ ดังนี้ แก้ไขคำสั่งตามต้องการ จากนั้น คลิกปุ่ม “Preview” จะแสดงผลดัง Web View ด้านล่างค่ะ   

Read More »

ขั้นตอนการติดตั้ง HBase บน Hadoop อย่างง่าย

HBase เป็น Database บน Hadoop [1] จากบทความ ขั้นตอนการติดตั้ง Hadoop Cluster อย่างง่าย จะได้ HDFS อยู่ที่ hdfs://192.168.1.101:9000 แล้ว ก็จะสามารถใช้ HBase บน Hadoop HDFS ได้ ขั้นตอนการติดตั้ง โคลนเครื่องต้นฉบับ แล้วตั้ง ip address ให้เรียบร้อย เช่น 192.168.1.121 ติดตั้ง HBase (mama shell) (mama shell) cd ~ wget http://www-us.apache.org/dist/hbase/stable/hbase-1.2.3-bin.tar.gz tar -zxvf hbase-1.2.3-bin.tar.gz sudo mv hbase-1.2.3 /usr/local/hbase sudo chown -R hduser.hadoop /usr/local/hbase sudo mkdir /usr/local/zookeeper sudo chown -R hduser.hadoop /usr/local/zookeeper แก้ไขไฟล์ /usr/local/hbase/conf/hbase-site.xml (hduser shell) <configuration> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://192.168.1.101:9000/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/zookeeper</value> </property> </configuration> ขั้นตอนการ Start HBase (hduser shell) /usr/local/hbase/bin/start-hbase.sh ดูผลการทำงาน จาก Hadoop HDFS ว่าสร้าง /hbase แล้ว http://192.168.1.101:50070/explorer.html#/hbase ใช้งานผ่าน Shell ได้จากคำสั่ง (hduser shell) /usr/local/hbase/bin/hbase shell ขั้นตอนการ Stop HBase (hduser shell) /usr/local/hbase/bin/stop-hbase.sh   References: [1] https://hbase.apache.org/

Read More »

ขั้นตอนการติดตั้ง Hadoop Cluster อย่างง่าย

Hadoop เป็น Framework สำหรับสร้างการประมวลผลแบบกระจาย (Distributed Processing) กับข้อมูลขนาดใหญ่ (Large Data Sets) สามารถเริ่มต้นจากทดสอบบนเครื่องคอมพิวเตอร์เครื่องเดียว ไปจนเป็นระบบ Cluster ได้[1] อธิบายง่ายๆได้ว่า Hadoop ประกอบด้วย ส่วนประมวลผลแบบกระจายเรียกว่า YARN (หรือ MapReduce) และ ส่วนเก็บข้อมูลแบบกระจายเรียกว่า HDFS (Hadoop Distributed File System) สำหรับการสร้าง Hadoop Cluster ในบทความนี้ใช้ Hadoop version 2.7.2 บน Ubuntu 16.04 โดย Cluster จะประกอบด้วย 1 Master และ N Slaves โดยจะใช้วิธีการสร้างเครื่องต้นฉบับ แล้ว Clone ไปเป็น Master/Slave ต่อไป 1.ขั้นตอนการสร้างตันฉบับสำหรับการ Clone 1.1. ติดตั้ง Ubuntu 16.04 ตามปรกติ สร้าง User คนแรกชื่อ mama 1.2. สร้างกลุ่มชื่อ hadoop sudo addgroup hadoop 1.3. สร้างผู้ใช้ชื่อ hduser อยู่ในกลุ่ม hadoop sudo adduser hduser –ingroup hadoop 1.4. ติดตั้ง Java sudo apt-get install default-jre openjdk-8-jdk-headless 1.5. ติดตั้ง hadoop wget http://www-us.apache.org/dist/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz tar -zxvf hadoop-2.7.2.tar.gz sudo mv hadoop-2.7.2 /usr/local/hadoop sudo mkdir /usr/local/hadoop/etc/hadoop/tmp sudo chown -R hduser.hadoop /usr/local/hadoop 1.6. เพิ่มตัวแปรใน /etc/environment HADOOP_HOME=/usr/local/hadoop HADOOP_PREFIX=/usr/local/hadoop JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 1.7. แก้ไขค่าใน .bashrc su hduser; cd ~ แล้วแก้ไข .bashrc โดยเพิ่มบรรทัดต่อไปนี้ ท้ายไฟล์ export HADOOP_HOME=/usr/local/hadoop export HADOOP_PREFIX=/usr/local/hadoop export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 2.ขั้นตอนการสร้าง Master (namenode) 2.1. Clone เครื่องต้นฉบับมา แล้วแก้ไข ip address, /etc/hosts, /etc/hostname ให้เหมาะสม โดยเครื่องนี้ต้อง Static IP เช่น 192.168.1.101 2.2. แก้ไข /usr/local/hadoop/etc/hadoop/core-site.xml ดังนี้ <configuration> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.107.116:9000</value> </property> </configuration> 2.3. แก้ไข /usr/local/hadoop/etc/hadoop/hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.datanode.registration.ip-hostname-check</name> <value>false</value> </property> </configuration> 2.4. แก้ไข /usr/local/hadoop/etc/hadoop/slaves โดยใส่ IP ของเครื่องที่จะเป็น Slave หรือ datanode ลงไป เช่น 192.168.1.102 ถึง 192.168.1.111 เป็นต้น 192.168.1.102 192.168.1.103 192.168.1.104 192.168.1.105 192.168.1.106 192.168.1.107 192.168.1.108 192.168.1.109 192.168.1.110 192.168.1.111  

Read More »

การแปลงข้อมูลในรูปแบบ JSON เป็นคลาส JAVA

ในการแลกเปลี่ยนข้อมูลระหว่าง application กับ service ที่ติดต่อกับฐานข้อมูลบน server โดยส่วนใหญ่ก็จะแลกเปลี่ยนข้อมูลโดยใช้รูปแบบ JSON ซึ่งในส่วนของแอพพลิเคชัน ต้องทำคลาสในการรับข้อมูลพื่อให้สามารถรับข้อมูลและนำไปใช้ได้สะดวกขึ้น ตัวอย่างข้อมูล JSON เช่น [                    {                              “point”: “40.266044,-74.718479”,                              “homeTeam”:”Lawrence Library”,                              “awayTeam”:”LUGip”,                              “markerImage”:”images/red.png”,                              “information”: “Linux users group meets second Wednesday of each month.”,                              “fixture”:”Wednesday 7pm”,                              “capacity”:””,                              “previousScore”:””                    },                    {                              “point”:”40.211600,-74.695702″,                              “homeTeam”:”Hamilton Library”,                              “awayTeam”:”LUGip HW SIG”,                              “markerImage”:”images/white.png”,                              “information”: “Linux users can meet the first Tuesday of the month to work out harward and configuration issues.”,                              “fixture”:”Tuesday 7pm”,                              “capacity”:””,                              “tv”:””                    },                    {                              “point”:”40.294535,-74.682012″,                              “homeTeam”:”Applebees”,                              “awayTeam”:”After LUPip Mtg Spot”,                              “markerImage”:”images/newcastle.png”,                              “information”: “Some of us go there after the main LUGip meeting, drink brews, and talk.”,                              “fixture”:”Wednesday whenever”,                              “capacity”:”2 to 4 pints”,                              “tv”:””                    } ] และตัวอย่างคลาส JAVA ที่เราต้องการสร้างเอาไว้รับข้อมูล ดังนี้ค่ะ ———————————-com.example.Example.java———————————– package com.example; import javax.annotation.Generated; @Generated(“org.jsonschema2pojo”) public class Example { private String point; private String homeTeam; private String awayTeam; private String markerImage; private String information; private String fixture; private String capacity; private String previousScore; private String tv;   public String getPoint() { return point; } public void setPoint(String point) { this.point = point; } public String getHomeTeam() { return homeTeam; }   public void setHomeTeam(String homeTeam) {

Read More »