关于我这周学习SQL注入的一些笔记:
2022/6/27 2:20:31
本文主要是介绍关于我这周学习SQL注入的一些笔记:,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
sql注入的原理: 通过恶意的SQL语句插入到应用的输入参数中,再在后台数据库服务器上解析执行的攻击。 Web程序的三层结构:- 界面层( User Interface layer )
- 业务逻辑层( Business Logic Layer )
- 数据访问层( Data access layer )
- 表示层
- 业务逻辑层(又叫领域层)
- 数据访问层(又叫储存层)
- 猜解后台数据库,这是利用最多的方式,盗取网站的敏感信息。
- 绕过认证,列如绕过验证登录网站后台。
- 注入可以借助数据库的存储过程进行提权等操作。
- 寻找注入点
- 判断注入类型/数据库类型
- 猜解数据库名
- 猜解数据表名
- 猜解数据字段名
- 按照参数类型可分为两种:数字型和字符型。
- 根据数据库返回的结果,可分为回显注入、报错注入、盲注。
- 按照注入方法,还可以分为联合注入、堆叠注入、宽字节注入、延时注入等。
在这个地方,我们选择这个东西进行注入。 我们看到了要我们输入ID的题目,我们首先随便输入一个数,比如我现在输入一个1,然后他会返回
URL中的ID=1,说明PHP页面通过了get方法传递参数,我们现在看看他的源代码是什么
<?php if(isset($_REQUEST['Submit')) //Get input sid $_REQUEST['id'] //Check database $query "SELECT first_name,last_name FROM users WHERE user_id '$id';" sresuit mysqli_query($GLOBALS["___mysqli_ston"],Squery )or die('<pre>'.((is_object(SGLOBALS["___mysqli_ston"]))mysqli_error ($GLOBALS["___mysqli_ston"]):(($___mysqli_res mysqli_connect_error())?$___mysqli_res false)).'</pre>'); //Get results while(Srow mysqli_fetch_assoc($result )) //Get values $first Srow["first_name"]; Slast Srow["last_name"]; //Feedback for end user echo "<pre>ID:{Sid)<br />First name:{$first}<br />Surname:{$last}</pre>"; mysqli_close($GLOBALS["___mysqli_ston"]); ?>
这段代码就是我们刚刚那个html的源代码,我们可以看见
$query "SELECT first_name,last_name FROM users WHERE user_id '$id';"
这个就是我们实际执行的SQL语句,如果我们在id的后面加了一个'的话 会出现这个情况
他返回了数据库报错信息,说明此处是存在SQL漏洞的。 然后我们就要确定注入的类型了: 我们决定使用联合查询语句,是这样的,举个例子 select column_name(s) from table1 UNION select column_name(s) from table2; 类似于这种格式的语句,我们称之为联合查询语句,其中union运算符可以将两个或者两个以上的select 语句的查询结果合并为一个结果来显示。 这个笔记是在我学习蓝桥杯的时候做的一些笔记,希望你们可以学到你们需要的东西,不敢说是原创,其中很多都是课上的东西。也许我做的笔记是又问题的,请一定要在评论区发出来,一边牢固了你们的记忆,而且还帮我纠正了错误(手动狗头),最后谢谢你们看到最后。
这篇关于关于我这周学习SQL注入的一些笔记:的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)