SQL注入
指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的。
一、Low等级
1、漏洞分析
<?php
if( isset( $_REQUEST[ 'Submit' ] ) ) {
// Get input
$id = $_REQUEST[ 'id' ];
// Check database
$query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";
$result = mysqli_query($GLOBALS["___mysqli_ston"], $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );
// Get results
while( $row = mysqli_fetch_assoc( $result ) ) {
// Get values
$first = $row["first_name"];
$last = $row["last_name"];
// Feedback for end user
echo "<pre>
本文详细探讨了DVWA中的SQL注入问题,从Low到Impossible四个等级逐一分析,讲解了每个等级的漏洞特点及如何利用sqlmap进行攻击。在Low等级中,未对输入id做任何过滤,攻击者能轻易爆库、爆表和字段内容。Medium等级增加了特殊字符转义和下拉页面限制,但sqlmap仍能找到注入点。High等级下,由于查询返回一条数据且页面分离,需要设置二阶响应URL。Impossible等级通过多种防护措施,如Anti-CSRF token、PDO和结果数量限制,显著提升了安全性。
最低0.47元/天 解锁文章

1032

被折叠的 条评论
为什么被折叠?



