Advertisement
Guest User

Untitled

a guest
Dec 5th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.51 KB | None | 0 0
  1. Thử nghiệm SQL Injection
  2. Trước khi cấu hình một số quy tắc, chúng tôi sẽ tạo một tập lệnh PHP dễ bị SQL injection kiểm tra sự bảo vệ của ModSecurity.
  3. Lưu ý: đây là một kịch bản đăng nhập cơ bản của PHP mà không có xử lý phiên làm việc hoặc hình thức vệ sinh. Nó chỉ được sử dụng như một ví dụ để kiểm tra các quy tắc SQL injection và ModSecurity. Nó sẽ được gỡ bỏ trước khi kết thúc hướng dẫn.
  4.  
  5. Trước tiên, truy cập vào dấu nhắc MySQL.
  6. • mysql -u root -p
  7. Ở đây, tạo một cơ sở dữ liệu MySQL được gọi là mẫu và kết nối với nó.
  8. • create database sample;
  9. • connect sample;
  10. Sau đó tạo ra một bảng có chứa một số thông tin quan trọng - tên người dùng sammy và mật khẩu mật khẩu .
  11. • create table users(username VARCHAR(100),password VARCHAR(100));
  12. • insert into users values('sammy','password');
  13. Cuối cùng, thoát MySQL.
  14. • quit;
  15. Tiếp theo, tạo kịch bản đăng nhập trong gốc tài liệu của Apache.
  16. • sudo nano /var/www/html/login.php
  17. Dán mã PHP sau vào tệp. Hãy chắc chắn để thay đổi mật khẩu MySQL trong kịch bản dưới đây để một trong những bạn thiết lập trước đó để các kịch bản có thể kết nối với cơ sở dữ liệu:
  18. /var/www/html/login.php
  19.  
  20. <html>
  21. <body>
  22. <?php
  23. if(isset($_POST['login']))
  24. {
  25. $username = $_POST['username'];
  26. $password = $_POST['password'];
  27. $con = mysqli_connect('localhost','root','your_mysql_password','sample');
  28. $result = mysqli_query($con, "SELECT * FROM `users` WHERE username='$username' AND password='$password'");
  29. if(mysqli_num_rows($result) == 0)
  30. echo 'Invalid username or password';
  31. else
  32. echo '<h1>Logged in</h1><p>This is text that should only be displayed when logged in with valid credentials.</p>';
  33. }
  34. else
  35. {
  36. ?>
  37. <form action="" method="post">
  38. Username: <input type="text" name="username"/><br />
  39. Password: <input type="password" name="password"/><br />
  40. <input type="submit" name="login" value="Login"/>
  41. </form>
  42. <?php
  43. }
  44. ?>
  45. </body>
  46. </html>
  47. Kịch bản này sẽ hiển thị một hình thức đăng nhập. Mở trình duyệt của bạn và điều hướng đến để xem nó. Nếu bạn nhập đúng cặp thông tin xác thực, ví dụ sammy trong trường Tên đăng nhập và mật khẩu trong trường Mật khẩu , bạn sẽ thấy thông báo Đây là văn bản chỉ được hiển thị khi đăng nhập với thông tin xác thực hợp lệ . Nếu bạn di chuyển trở lại màn hình đăng nhập và sử dụng thông tin xác thực không chính xác, bạn sẽ thấy thông báo Tên người dùng hoặc mật khẩu không hợp lệ.http://your_server_ip/login.php
  48. Công việc tiếp theo là dùng thử SQL injection để bỏ qua trang đăng nhập. Nhập phần sau cho trường tên người dùng.
  49. Tên người dùng SQL injection
  50. ' or true --
  51. Lưu ý rằng không nên có một không gian sau khi --tiêm này để làm việc. Để trống trường mật khẩu và nhấn nút đăng nhập. Tập lệnh cho thấy thông điệp dành cho người dùng được chứng thực! Trong bước tiếp theo, chúng tôi sẽ ngăn chặn điều này.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement