当前位置:网站首页>SQL injection Less38 (stack injection)
SQL injection Less38 (stack injection)
2022-07-31 22:52:00 【HUAWEI CLOUD】
<?phpif(isset($_GET['id'])){$id=$_GET['id'];// connectivity//mysql connections for stacked query examples.$con1 = mysqli_connect($host,$dbuser,$dbpass,$dbname);// Check connectionif (mysqli_connect_errno($con1)){ echo "Failed to connect to MySQL: " . mysqli_connect_error();}else{ @mysqli_select_db($con1, $dbname) or die ( "Unable to connect to the database: $dbname");}$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";/* execute multi query */if (mysqli_multi_query($con1, $sql)){ /* store first result set */ if ($result = mysqli_store_result($con1)) { if($row = mysqli_fetch_row($result)) { echo '<font size = "5" color= "#00FF00">'; printf("Your Username is : %s", $row[1]); echo "<br>"; printf("Your Password is : %s", $row[2]); echo "<br>"; echo "</font>"; }// mysqli_free_result($result); } /* print divider */ if (mysqli_more_results($con1)) { //printf("-----------------\n"); } //while (mysqli_next_result($con1));}else { echo '<font size="5" color= "#FFFF00">'; print_r(mysqli_error($con1)); echo "</font>"; }/* close connection */mysqli_close($con1);} else { echo "Please input the ID as parameter with numeric value";}?>==mysqli_multi_query() 函数执行一个或多个针对数据库的查询.多个查询用分号进行分隔==
mysqli_store_result() 转移上一次查询返回的结果集
mysqli_fetch_row() 函数从结果集中取得一行,并作为枚举数组返回.
所以只显示第一个查询的结果,不显示后面的查询结果.
再看这一题,可以和Less1一样,用union注入,可以用来查询数据.
这里我用堆叠注入试了试几个payload?id=1';1=1?id=1';1=2?id=1';nihao?id=1';nihao'
所以的结果都是这样
所以页面只展示第一条查询的结果.后面的查询都无关.
所以我们这里用堆叠注入是查不出数据的,但是==插入数据,删除数据,更新数据,修改表名、数据库名什么的都是可以的==?id=1';drop database security;?id=1';drop table users;?id=1';insert into users(username,password) values('happy','coder');
边栏推荐
- grep command written test questions
- 日常--Kali开启SSH(详细教程)
- 嵌入式开发没有激情了,正常吗?
- 如何减少软件设计和实现之间鸿沟
- Write a database document management tool based on WPF repeating the wheel (1)
- "SDOI2016" Journey Problem Solution
- MLP神经网络,GRNN神经网络,SVM神经网络以及深度学习神经网络对比识别人体健康非健康数据
- Program processes and threads (concurrency and parallelism of threads) and basic creation and use of threads
- Transfer Learning - Domain Adaptation
- ECCV 2022 Huake & ETH propose OSFormer, the first one-stage Transformer framework for camouflaging instance segmentation!The code is open source!...
猜你喜欢

程序进程和线程(线程的并发与并行)以及线程的基本创建和使用

Pytest初体验

登录业务实现(单点登录+微信扫码+短信服务)

Shell常用脚本:Nexus批量上传本地仓库脚本

Daily--Kali opens SSH (detailed tutorial)

Audio alignment using cross-correlation

日常--Kali开启SSH(详细教程)

20. Support vector machine - knowledge of mathematical principles

支付模块实现

Write a database document management tool based on WPF repeating the wheel (1)
随机推荐
如何减少软件设计和实现之间鸿沟
Collation of knowledge points in Ningbo University NBU IT project management final exam
[QNX Hypervisor 2.2 User Manual]9.14 set
基于RT1052 Aworks nanopb string 类型固定长度使用方式(二十七)
The difference between adding or not adding the ref keyword when a variable of reference type is used as a parameter in a method call in C#
Chapter Six
SQL注入 Less47(报错注入) 和Less49(时间盲注)
The difference between adding or not adding the ref keyword when a variable of reference type is used as a parameter in a method call in C#
Binary tree non-recursive traversal
二叉树非递归遍历
BOW/DOM (top)
LevelSequence source code analysis
UOS统信系统 - WindTerm使用
Recognize anomalies (you will understand after reading this)
Go mode tidy reports an error go warning “all” matched no packages
I don't know what to do with sync issues
ThreadLocal
消息队列消息存储设计(架构实战营 模块八作业)
A solution to the server encountered an internal error that prevented it from fulfilling this request [easy to understand]
Embedded development has no passion, is it normal?