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的过程:他们会先尝试着让程序报 ...
随机推荐
- 用node.js给C#写一个数据表的实体类生成工具
虽然微软提供了T4模板,但是我感觉非常难用.哪儿比得上直接用脚本来写模板来的爽. 因为要给一个老项目做周边的工具,需要连接到数据库. 我习惯性用EntityFrameworkCore来做,因为毕竟从出 ...
- centos7下SVN服务器搭建
1,安装 yum install subversion 2,输入rpm -ql subversion查看安装位置 3,创建svn版本库目录 mkdir -p /var/svn/svnrepos 4,创 ...
- this.$nextTick的用法
element-ui中有一个动态添加tag的组件,平常状态是按钮,点击后变成输入框:那么这里的话,希望按钮点击后,input输入框被选中 这里二者的切换依赖于inputVisible这个值,当按钮点击 ...
- 【总结】nginx基础
一.nginx简介 1.什么是nginx? Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,支持高达 50,000 个并发连接数.功能:反向代理,负载均衡,动静分离 ...
- http接口和web service接口测试区别是什么?
1.web service有一套完整的协议标准,其中有soap协议,用来进行消息的传递. 2.soap请求是HTTP POST的一个专用版本,遵循一种特殊的xml消息格式 Content-type设置 ...
- 文本的3D效果
HTML <div class="g-box"> <h1>CSS的世界很美</h1> </div> CSS .g-box { wid ...
- 4G DTU的通信距离是多少
4G是现今应用非常广泛的一种通信技术,主要是为广义的远程信息处理提供服务.随着计算机与各种具有处理功能的智能设备在各领域的日益广泛使用,数据通信的应用范围也日益扩大.在物联网领域中,4G是移动设备实现 ...
- Linux 网络编程的5种IO模型:多路复用(select/poll/epoll)
Linux 网络编程的5种IO模型:多路复用(select/poll/epoll) 背景 我们在上一讲 Linux 网络编程的5种IO模型:阻塞IO与非阻塞IO中,对于其中的 阻塞/非阻塞IO 进行了 ...
- 谈谈OKHttp的几道面试题
来吧,今天说说常用的网络框架OKHttp,也是现在Android所用的原生网络框架(Android 4.4开始,HttpURLConnection的底层实现被Google改成了OkHttp),GOGO ...
- Odoo环境搭建之问题readme
环境及工具 Windows,PyCharm Community Edition,postgresql-13.0-1 启动odoo环境 python odoo-bin 如果你只是还是空壳,启动odoo之 ...