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的过程:他们会先尝试着让程序报 ...
随机推荐
- jacoco-1-java代码测试覆盖率之本地环境初体验
前言 jacoco是一个开源的覆盖率工具,它针对的开发语言是java,其使用方法很灵活,可以插桩到Ant.Maven中,可以使用其JavaAgent技术监控Java程序等. 那么本次主要使用对java ...
- openresty下安装luarocks
wget https://luarocks.org/releases/luarocks-2.4.1.tar.gz tar -xzvf luarocks-2.4.1.tar.gz cd luarocks ...
- 使用WxPusher给自己的个人微信发送提醒消息(WxPusher微信推送服务)
1.背景 我们很多时候,我们在服务器上运行软件,发生一些业务异常,需要给我们发送一个及时的提醒,或者是使用一些耗时软件,比如抢车票,抢课,刷优惠券当任务运行成功以后,也需要及时的发送消息给自己 ,告诉 ...
- 那些鼓吹国内首个.NET 5框架的,该醒醒了!
前两天看过园子里有篇[国内首个 .NET 5 框架 XX 斩获 XXX stars,XXX 发布],一顿羡慕嫉妒恨啊.我这.net core 3.1才上手没几天,还没用热乎呢,你这.NET 5的框架都 ...
- JS如何避免重复性触发操作
btn的click事件,每次点击都会执行给定的function,如果function复杂的话,很容易消耗内存 解决方法--setTimeout延时处理. 给function做延迟处理,比如600毫秒后 ...
- 关于ansible命令的执行过程
首先说明一下.每一个模块.都是有相应的.py文件的,可以通过rpm -ql ansible看到 要观察模块执行过程,可以在ansible命令执行时加上-v或-vvv,或者-vvvv看得更加详细 ans ...
- java中常见的六种线程池详解
之前我们介绍了线程池的四种拒绝策略,了解了线程池参数的含义,那么今天我们来聊聊Java 中常见的几种线程池,以及在jdk7 加入的 ForkJoin 新型线程池 首先我们列出Java 中的六种线程池如 ...
- Redis 和 Memcached 有什么区别?Redis 的线程模型是什么?为什么单线程的 Redis 比多线程的 Memcached 效率要高得多?
面试题 redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发? 面试官心理分析 这个是问 redis 的时候,最基本的问题吧,redi ...
- Centos8防火墙设置
1.centos中firewalld与iptables centos7以前的版本默认使用iptables服务进行管理防火墙规则.centos7以及其以上版本默认使用firewalld服务管理防火墙.所 ...
- 【Kata Daily 190920】Square(n) Sum(平方加总)
题目: Complete the square sum function so that it squares each number passed into it and then sums the ...