bWAPP----SQL Injection (GET/Search)
SQL Injection (GET/Search)
输入单引号
报错,在%'附近出错,猜测参数被 '% %'这种形式包裹,没有任何过滤,直接带入了数据库查询
输入order by查询列
union select 确定显示位
然后分别查询用户,数据库名,数据库版本
根据数据库版本知道可以通过information_schema表查询信息,查询table_name,从information_schema.tables
查询当前数据库的tablename
查询users表的列
查询字段的内容
贴上源码
1 <?php
2 if(isset($_GET["title"]))
3 {
4
5 $title = $_GET["title"];
6
7 $sql = "SELECT * FROM movies WHERE title LIKE '%" . sqli($title) . "%'";
8
9 $recordset = mysql_query($sql, $link);
10
11 if(!$recordset)
12 {
13
14 // die("Error: " . mysql_error());
15
16 ?>
17
18 <tr height="50">
19
20 <td colspan="5" width="580"><?php die("Error: " . mysql_error()); ?></td>
21 <!--
22 <td></td>
23 <td></td>
24 <td></td>
25 <td></td>
26 -->
27
28 </tr>
29 <?php
30
31 }
32
33 if(mysql_num_rows($recordset) != 0)
34 {
35
36 while($row = mysql_fetch_array($recordset))
37 {
38
39 // print_r($row);
40
41 ?>
防御代码
function sqli($data)
{ switch($_COOKIE["security_level"])
{ case "0" : $data = no_check($data);
break; case "1" : $data = sqli_check_1($data);
break; case "2" : $data = sqli_check_2($data);
break; default : $data = no_check($data);
break;
low
没有过滤
medium
function sqli_check_1($data)
{ return addslashes($data);
high
1 function sqli_check_2($data)
2 {
3
4 return mysql_real_escape_string($data);
5
6 }
bWAPP----SQL Injection (GET/Search)的更多相关文章
- bWAPP练习--injection篇SQL Injection (GET/Search)
SQL注入: SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到 ...
- ecshop /search.php SQL Injection Vul
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 ECSHOP商城系统Search.php页面过滤不严导致SQL注入漏洞 ...
- dedecms /plus/search.php SQL Injection && Local Variable Overriding
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 这个文件有两处注入漏洞 . $typeid变量覆盖导致ChannelTy ...
- How to prevent SQL injection attacks?
In our earlier tutorial on SQL Injection, one way to have prevented the SQL injection attack was by ...
- FlarumChina SQL injection Vulnerability
First,We need to download our vulnerable program in GitHub links:https://github.com/skywalker512/Fla ...
- SQL注入(SQL Injection)案例和防御方案
sql注入(SQL Injection):就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入攻击的主要危害包括:非法读取.篡 ...
- 防sql注入之参数绑定 SQL Injection Attacks and Defense 预处理语句与存储过程
http://php.net/manual/zh/pdo.prepared-statements.php 预处理语句与存储过程 很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作 ...
- druid sql黑名单 报异常 sql injection violation, part alway true condition not allow
最近使用druid,发现阿里这个连接池 真的很好用,可以监控到连接池活跃连接数 开辟到多少个连接数 关闭了多少个,对于我在项目中查看错误 问题,很有帮助, 但是最近发现里面 有条sql语句 被拦截了, ...
- PHP+MYSQL网站SQL Injection攻防
程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程:他们会先尝试着让程序报 ...
随机推荐
- C++学习笔记---引用的本质
本质:引用本质上是C++内部实现的一个指针常量 发现是引用的话,自动帮我们转换成指针常量 运行后,发现修改ref的值那么a的值也会一起改变,这就说明了引用的本质就是指针
- 超简单集成HMS ML Kit文字超分能力,一键提升文本分辨率
前言 大家有没有遇到过这种情况,在浏览微博或者公众号时看到一段有趣的文字,于是截图发到朋友圈想和好友分享.但是在发布图片时,软件会对图片强制进行压缩,导致图片分辨率下降,文字变得模糊难以阅读.那么有没 ...
- Oracle一些常用操作语句
--创建oracle登录用户 create user CHECKDATAUSER identified by "bsoft" default tablespace PBPG ...
- 初识ABP vNext(12):模块的独立运行与托管
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 模块运行 动态 C# API 客户端 最后 前言 很久没更新这个系列...之前的章节中讲到ABP的模块是可以独立运行的 ...
- STM32入门系列-CMSIS标准
使用寄存器点亮开发板上LED,这种开发方式显然是不适合大众,对于STM32这样庞大的芯片,内部寄存器实在太多,如果操作的外设比较多,那么就需要花很多时间查询底层寄存器内容,而且即使程序写好,如果要换其 ...
- JAVA学习第一阶段(2)
21. ArrayList类和LinkList类 注意:add,contains,remove,retain(取交集) 都可以+all表示对集合的操作 ArrayList c = new ArrayL ...
- 4-20mA转RS485模拟量采集模块是怎么工作的?
4-20mA信号是工业上常用的模拟信号,用来表示温度,距离,速度,角度等参数. 如果需要用PLC或者工控机来采集,通常要转换成数字信号.这时可以采购远向电子生产的模拟量采集模块. 常用的模拟量采集模块 ...
- Day13 CSS样式
1. css 选择器 1.1 css三种引入方法 <!DOCTYPE HTML> <html> <head> <meta charset="utf- ...
- 致萌新与不会用 NOI Linux 的 OIer
全文绝大部分转载自:这篇好文章啊. 目录 1:GUIDE 2:Gedit 原文 打开 编译运行 3.Vim 3-1:这东西咋开啊 3-2:这东西咋用啊 4.编译与运行 5.调试 6.CSP竞赛中编写代 ...
- 843. Guess the Word —— weekly contest 86
题目链接:https://leetcode.com/problems/guess-the-word/description/ 占坑 据说要用启发式算法,可参考下述答案进行学习:https://leet ...