sqlilab less11-less18

less-11
uname和passwd直接带入查询,万能密码

sqlmap自动搜索表单,或者抓包后用-r参数
less-12
post数据用小括号进行包裹,构造万能密码") or 1=1 #

less-13
将mysql_error()返回前端,且用‘)包裹,构造') or 1=1 #

less-14
post的数据用双引号包裹,构造万能密码"or 1=1 #

less-15
报错不返回前端,考虑布尔和时间盲注




less-16
与15思路相同,但是由小括号,双引号包裹



less17
这里是更新用户的密码。
加入了过滤函数,只将uname带入查询,并对uname进行处理
1 function check_input($value)
2 {
3 if(!empty($value)) //不能为空
4 {
5 // truncation (see comments)
6 $value = substr($value,0,15); //只获取前15位字符串
7 }
8
9 // Stripslashes if magic quotes enabled
10 if (get_magic_quotes_gpc()) 如果开启了gpc
11 {
12 $value = stripslashes($value); 用这个函数处理
13 }
14
15 // Quote if not a number
16 if (!ctype_digit($value))如果不是数字的话,对特殊字符进行转义,并包裹单引号
17 {
18 $value = "'" . mysql_real_escape_string($value) . "'";
19 }
20
21 else
22 {
23 $value = intval($value);
24 }
25 return $value;
26 }
但是,防御函数只处理了uname变量,并未对passwd处理。


less-18
这里提示了IP,可能是xxf注入

通过分析源码,这里对uname和passwd参数进行了处理,但是还有两个新的全局变量可控,ip和user-agent
1 function check_input($value)
2 {
3 if(!empty($value))
4 {
5 // truncation (see comments)
6 $value = substr($value,0,20);
7 }
8
9 // Stripslashes if magic quotes enabled
10 if (get_magic_quotes_gpc())
11 {
12 $value = stripslashes($value);
13 }
14
15 // Quote if not a number
16 if (!ctype_digit($value))
17 {
18 $value = "'" . mysql_real_escape_string($value) . "'";
19 }
20
21 else
22 {
23 $value = intval($value);
24 }
25 return $value;
26 }
27
28
29
30 $uagent = $_SERVER['HTTP_USER_AGENT'];
31 $IP = $_SERVER['REMOTE_ADDR'];
32 echo "<br>";
33 echo 'Your IP ADDRESS is: ' .$IP;
34 echo "<br>";
35 //echo 'Your User Agent is: ' .$uagent;
36 // take the variables
37 if(isset($_POST['uname']) && isset($_POST['passwd']))
38
39 {
40 $uname = check_input($_POST['uname']);
41 $passwd = check_input($_POST['passwd']);
42
43 /*
44 echo 'Your Your User name:'. $uname;
45 echo "<br>";
46 echo 'Your Password:'. $passwd;
47 echo "<br>";
48 echo 'Your User Agent String:'. $uagent;
49 echo "<br>";
50 echo 'Your User Agent String:'. $IP;
51 */
52
53 //logging the connection parameters to a file for analysis.
54 $fp=fopen('result.txt','a');
55 fwrite($fp,'User Agent:'.$uname."\n");
56
57 fclose($fp);
58
59
60
61 $sql="SELECT users.username, users.password FROM users WHERE users.username=$uname and users.password=$passwd ORDER BY users.id DESC LIMIT 0,1";
62 $result1 = mysql_query($sql);
63 $row1 = mysql_fetch_array($result1);
64 if($row1)
65 {
66 echo '<font color= "#FFFF00" font size = 3 >';
67 $insert="INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES ('$uagent', '$IP', $uname)";
68 mysql_query($insert);
69 //echo 'Your IP ADDRESS is: ' .$IP;
70 echo "</font>";
71 //echo "<br>";
72 echo '<font color= "#0000ff" font size = 3 >';
73 echo 'Your User Agent is: ' .$uagent;
74 echo "</font>";
75 echo "<br>";
76 print_r(mysql_error());
77 echo "<br><br>";
78 echo '<img src="../images/flag.jpg" />';
79 echo "<br>";
80
81 }
82 else
83 {
84 echo '<font color= "#0000ff" font size="3">';
85 //echo "Try again looser";
86 print_r(mysql_error());
87 echo "</br>";
88 echo "</br>";
89 echo '<img src="../images/slap.jpg" />';
90 echo "</font>";
91 }
92
93 }
当–level参数设定为3或者是3以上时,会尝试对User-Agent进行注入测试
sqlilab less11-less18的更多相关文章
- 【sqli-labs】Less18~Less22
Less18: User-Agent注入,有错误回显 感叹一句,越来越难了.现在只能先看代码再分析怎么注入了..... 通过代码,发现username和password均做了校验.但是会有一个插入us ...
- 【sqli-labs】Less11~Less16
学习sqli-labs的笔记,前面的笔记内容比较详细.后面的只记录关键点了. Less11: POST注入, 有回显,有错误提示 从11题起是POST注入,发现有两个输入框.用firefox的F12查 ...
- sqli-labs Less-11 and Less-12
这关是post注入的世界,post注入就是表单中填好数据通常会被送到服务器,然后由服务器将其发送到它要去的地方(比如,送到一个服务器网关程序中,然后由这个程序对其进行处理). 不显示东西,那么加引号等 ...
- sqli-labs less-11 --> less-12
Less-11(报错注入POST方式) 1.判断是否存在注入点 因为是POST 方式的与GET方式稍有不同,可以选择使用burp suite以及火狐的hackbar进行操作,直接在输入框usernam ...
- sqli-lab 第一题 单引号 error based single quotes
一.第一次见面 1.初识 http://localhost/Less-1/ 提示输入id,因此访问http://localhost/Less-1/?id=1 可以继续测试id=2.3.4等的情况,会输 ...
- 【sqli-labs】 less18 POST - Header Injection - Uagent field - Error based (基于错误的用户代理,头部POST注入)
这次username和password都进行了输入校验 但是ip和uagent没有校验 当我们用admin admin登陆成功后,就会一条插入语句 由于程序无条件的信任了浏览器的header信息,那么 ...
- 【sqli-labs】 less11 POST - Error Based - Single quotes- String (基于错误的POST单引号字符型注入)
查看源码,用户名和密码通过post提交 加单引号提交 出现报错,推测对应的SQL语句 , 直接使用or构造永真登录 成功,注意此处登录的用户为表中的第一个用户 需要改变用户可以通过改变筛选条件实现 作 ...
- less11 属性合并
less //+ 合并以后,以逗号分割属性值 .mixin() { box-shadow+: inset 0 0 10px #555 ; } .myclass { .mixin(); box-shad ...
- 2019-10-24:渗透测试,sqli-labe,less18,19关
less19基于错误_POST_Referer_请求头注入 查看关键源码,跟18关不一样的只是,回显的是Referer不是User-Agent,判断INSERT语句结构:INSERT INTO tab ...
随机推荐
- 第一章 Linux操作系统及其历史介绍
一.什么是操作系统 1.基本含义: 简称OS 是计算机系统中必不可少的基础系统软件,是应用程序运行和用户操作必备的基础环境 操作系统就是一个人与计算机之间的中介 2.组成方式: 操作系统的组成: 计算 ...
- B站弹幕爬取
B站弹幕爬取 单个视频弹幕的爬取 B站弹幕都是以xml文件的形式存在的,而xml文件的请求地址是如下形式: http://comment.bilibili.com/233182992.xml ...
- Codeforces Round #427 (Div. 2) E. The penguin's game (交互题,二进制分组)
E. The penguin's game time limit per test: 1 second memory limit per test: 256 megabytes input: stan ...
- vant学习网址
https://youzan.github.io/vant/#/zh-CN/swipe-cell 我推荐大家可以在这个网址上面学习vant相关的知识 里面有代码解说和详细的代码
- javaweb学习笔记整理补课
javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...
- win10系统出现“VMware Workstation与Device/Credential Guard不兼容”的解决办法
办公室win10 64位系统安装的VMware Workstation,有一天启动时出现提示"VMware Workstation 与 Device/Credential Guard 不兼容 ...
- 痞子衡嵌入式:基于恩智浦i.MXRT1010的MP3音乐播放器(RT-Mp3Player)设计
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是基于i.MXRT1011的MP3播放器参考设计. i.MXRT1011是恩智浦i.MXRT四位数系列的入门型号,虽然是入门级,可也是50 ...
- C语言函数的学习
0x01.函数 这节就先讲函数吧,函数大致分为四种类型 1.无参数.无返回值的函数格式 void 函数名() { //代码段 } void Hello() { printf("Hello W ...
- 【Spring Cloud + Vue 有来商城】研发小组开发规范全方位梳理
项目演示 后端 Spring Cloud实战 | 第一篇:Windows搭建Nacos服务 Spring Cloud实战 | 第二篇:Spring Cloud整合Nacos实现注册中心 Spring ...
- Luogu P3262 [JLOI2015]战争调度
题意 给定一棵高度为 \(n\) 的完全二叉树,可以将节点设置成两种状态.如果某个叶子 \(x\) 的状态为 \(i\) 同时他的某个祖先也为 \(i\),那么这个叶子就会对祖先产生 \(f_{x,i ...