前言
严正声明:本博文所讨论的技术仅用于研究学习,旨在增强读者的信息安全意识,提高信息安全防护技能,严禁用于非法活动。任何个人、团体、组织不得用于非法目的,违法犯罪必将受到法律的严厉制裁。
【点击此处即可获取282G网络安全零基础入门学习资源】
信息搜集
信息搜集在 SQL 注入攻击中扮演着重要的角色,它为攻击者提供了关键的目标数据库和应用程序信息,帮助攻击者更好地进行后续的攻击操作。
信息搜集主要包括以下几个方面:
1.识别和了解目标数据库:获取目标数据库的类型、版本、表结构、列名以及其他关键信息。
2.获取敏感信息:获取目标数据库中的敏感信息,如用户名、密码、用户权限、财务信息等。
3.发现漏洞和弱点:发现目标应用程序的漏洞和弱点,如不安全的输入验证、不当的错误处理机制等。
4.判断注入点和注入类型:确定目标应用程序存在的注入点,即用户输入数据直接或间接进入 SQL 语句的位置。同时,了解到目标应用程序的数据库交互方式(如直接构造 SQL 语句、使用存储过程等),从而选择最适合的注入类型和方法。
使用以下一些指令获取相关信息:
1.select version()
:获取数据库版本;
2.select user()
:获取数据库用户名;
3.select database()
:获取数据库名;
4.select @@datadir
:获取数据库路径;
5.select @@version_compile_os
:获取操作系统版本;
注入入门
基础注入
假设一个网站的部分源码如下所示:
$sql = “SELECT * FROM users where name='”;
$sql .= $_GET[“name”].“'”;
r e s u l t = m y s q l q u e r y ( result = mysql_query( result=mysqlquery(sql);
if (KaTeX parse error: Expected '}', got 'EOF' at end of input: …lt) { while (row = mysql_fetch_assoc( r e s u l t ) ) e c h o " < t r > " ; e c h o " < t d > " . result)) echo "<tr>"; echo "<td>".