Sqli-LABS通关笔录-17-审计SQL注入
这个关卡开始好像进入新的知识区了,前面几个是让我们加深对盲注的印象。接下来又是新知识了!皮卡丘,接招吧!
代码是从SQL-libs的第十七关卡扣的。
页面效果如下所示:

PHP面完整CODE如下所示:
<?php
include("../sql-connections/sql-connect.php");
error_reporting(); function check_input($value) #定义一个函数为check_input,里面有一个参数为$value。
{
if(!empty($value)) #当参数不为空的时候
{
// truncation (see comments)
$value = substr($value,,); #参数如果的话执行该条语句,使用substr函数对参数进行截取取从第0位到第15位的数据。
} // Stripslashes if magic quotes enabled
if (get_magic_quotes_gpc()) #判断php.ini是否开启了魔术引用。
{
$value = stripslashes($value); #如果开启了对魔术引用进行反转。这个的意思就是不需要去掉魔术引用
} // Quote if not a number
if (!ctype_digit($value)) #ctype_digit:检测是否都是数字,负数及小数都不行,也就是说如果不为数字,为负数或者小数的执行22行代码。
{
$value = "'" . mysql_real_escape_string($value) . "'"; #关于mysql_real_escape_string()函数的更多解释:http://www.w3school.com.cn/php/func_mysql_real_escape_string.asp } else
{
$value = intval($value); #获取$value的整数
}
return $value;
} // take the variables
if(isset($_POST['uname']) && isset($_POST['passwd'])) #判断user和passwd有没有设置 {
//making sure uname is not injectable
$uname=check_input($_POST['uname']); #使用check_input函数对传过来的uname参数进行过滤 $passwd=$_POST['passwd']; #过滤的很好,但是密码就没过滤了。问题的关键处出在这里! //logging the connection parameters to a file for analysis.
$fp=fopen('result.txt','a');
fwrite($fp,'User Name:'.$uname."\n");
fwrite($fp,'New Password:'.$passwd."\n");
fclose($fp); // connectivity
@$sql="SELECT username, password FROM users WHERE username= $uname LIMIT 0,1"; $result=mysql_query($sql);
$row = mysql_fetch_array($result);
//echo $row;
if($row)
{
//echo '<font color= "#0000ff">';
$row1 = $row['username'];
//echo 'Your Login name:'. $row1;
$update="UPDATE users SET password = '$passwd' WHERE username='$row1'";
mysql_query($update);
echo "<br>"; if (mysql_error())
{
echo '<font color= "#FFFF00" font size = 3 >';
print_r(mysql_error());
echo "</br></br>";
echo "</font>";
}
else
{
echo '<font color= "#FFFF00" font size = 3 >';
//echo " You password has been successfully updated " ;
echo "<br>";
echo "</font>";
} echo '<img src="../images/flag1.jpg" />';
//echo 'Your Password:' .$row['password'];
echo "</font>"; }
else
{
echo '<font size="4.5" color="#FFFF00">';
//echo "Bug off you Silly Dumb hacker";
echo "</br>";
echo '<img src="../images/slap1.jpg" />'; echo "</font>";
}
} ?>
见39行,未对齐进行过滤进而造成SQL注入

这题其实跟之前的一样。可以使用延时注入来注入。至于为啥工具没跑出来我真心不懂。
THE END
Sqli-LABS通关笔录-17-审计SQL注入的更多相关文章
- Sqli-LABS通关笔录-18-审计SQL注入2-HTTP头注入
在此关卡我学习到了 1.只要跟数据库交互的多观察几遍.特别是对于http头这种类型的注入方式. 2. <?php //including the Mysql connect parameter ...
- php代码审计3审计sql注入漏洞
SQL注入攻击(sql injection)被广泛用于非法获取网站控制权,在设计程序时,忽略或过度任性用户的输入,从而使数据库受到攻击,可能导致数据被窃取,更改,删除以及导致服务器被嵌入后门程序等 s ...
- Sqli labs系列-less-5&6 报错注入法(上)
在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...
- Sqli labs系列-less-5&6 报错注入法(下)
我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...
- Java审计之SQL注入篇
Java审计之SQL注入篇 0x00 前言 本篇文章作为Java Web 审计的一个入门文,也是我的第一篇审计文,后面打算更新一个小系列,来记录一下我的审计学习的成长. 0x01 JDBC 注入分析 ...
- (其他)SQL注入(转)
转自维基百科: SQL注入是一种代码注入技术,用于攻击数据驱动的应用程序,在这种应用程序中,恶意的SQL语句被插入输入字段中执行(例如将数据库内容转储给攻击者).[1] SQL注入必须利用应用程序软件 ...
- [原题复现+审计][网鼎杯 2018] WEB Fakebook(SSRF、反序列化、SQL注入)
简介 原题复现: 考察知识点:SSRF.反序列化.SQL注入 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 过 ...
- 浅析白盒审计中的字符编码及SQL注入
尽管现在呼吁所有的程序都使用unicode编码,所有的网站都使用utf-8编码,来一个统一的国际规范.但仍然有很多,包括国内及国外(特别是非英语国家)的一些cms,仍然使用着自己国家的一套编码,比如g ...
- Sqli-LABS通关笔录-8[延时注入]
通过该关卡我学习到了 1.if语句的三目运算符(其实说白了也就是php里的三位运算符) 2.sleep函数 3.substring函数(其实和substr一样) 4.limit的灵活运用 5. Sta ...
随机推荐
- WinForm------PopupMenu控件的使用
转载: http://www.cnblogs.com/xlx0210/archive/2010/07/14/1777366.html
- 自然语言13_Stop words with NLTK
https://www.pythonprogramming.net/stop-words-nltk-tutorial/?completed=/tokenizing-words-sentences-nl ...
- Kafka集群的安装和使用
Kafka是一种高吞吐量的分布式发布订阅的消息队列系统,原本开发自LinkedIn,用作LinkedIn的活动流(ActivityStream)和运营数据处理管道(Pipeline)的基础.现在它已被 ...
- OpenGL Tutorial
https://open.gl https://www.processing.org/tutorials/pshader/
- 路径 dirname(__FILE__)
require(dirname(__FILE__).'/include/init.php');
- ReSharper 配置及用法(转)
1:安装后,Resharper会用他自己的英文智能提示,替换掉 vs2010的智能提示,所以我们要换回到vs2010的智能提示 2:快捷键.是使用vs2010的快捷键还是使用 Resharper的快捷 ...
- 使用ab压测网页结果分析
使用ab压测网页结果分析 下载工具:ab 图片来自:http://my.oschina.net/u/1246814/blog/291696?fromerr=JfLeu1jk
- 是时候放弃Uploadify了
1.Uploadify是什么? Uploadify是来自国外的一款优秀jQuery插件,主要功能是批量上传文件. 这话是复制百度百科的,是:基于jQuery开发的文件上传插件. 2.为什么大家都在用? ...
- ZOJ3802 Easy 2048 Again (状压DP)
ZOJ Monthly, August 2014 E题 ZOJ月赛 2014年8月 E题 http://acm.zju.edu.cn/onlinejudge/showProblem.do?proble ...
- UvaLive6662 The Last Ant 模拟
UvaLive6662 PDF题目 题意:给出隧道长度L,蚂蚁数量N,各蚂蚁位置Pi.前进方向Di,都为整数(前进方向为L或R),蚂蚁速度为1cm每秒,两蚂蚁若在整数点相遇则都反向,若不在整数点相遇则 ...