当前位置:网站首页>SQL注入 Less38(堆叠注入)
SQL注入 Less38(堆叠注入)
2022-07-31 22:34:00 【华为云】
<?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');
边栏推荐
- Socket Review and I/0 Model
- Pytest first experience
- Collation of knowledge points in Ningbo University NBU IT project management final exam
- LevelSequence source code analysis
- 「SDOI2016」征途 题解
- How to debug TestCafe
- find prime numbers up to n
- Several methods of mysql backup table
- Verilog implements a divide-by-9 with a duty cycle of 5/18
- Student management system on the first day: complete login PyQt5 + MySQL5.8 exit the operation logic
猜你喜欢
How to reduce the gap between software design and implementation
Write a database document management tool based on WPF repeating the wheel (1)
A high-quality WordPress download site template theme developed abroad
Unity-LineRenderer显示一条线
Realization of character makeup
Quick Start Tutorial for flyway
景区手绘地图的绘制流程
Memblaze released the first enterprise-grade SSD based on long-lasting particles. What is the new value behind it?
嵌入式开发没有激情了,正常吗?
Implementation of a sequence table
随机推荐
无状态与有状态的区别
Unity-LineRenderer显示一条线
如何导入 Golang 外部包并使用它?
focus on!Haitai Fangyuan joins the "Personal Information Protection Self-discipline Convention"
Golang must know the Go Mod command
"SDOI2016" Journey Problem Solution
(26)Blender源码分析之顶层菜单的关于菜单
程序进程和线程(线程的并发与并行)以及线程的基本创建和使用
关注!海泰方圆加入《个人信息保护自律公约》
C#中引用类型的变量做为参数在方法调用时加不加 ref 关键字的不同之处
#yyds dry goods inventory# Interview must brush TOP101: the entry node of the ring in the linked list
如何减少软件设计和实现之间鸿沟
Chapter VII
Bika LIMS open source LIMS set - use of SENAITE (detection process)
周总结
Verilog implements a divide-by-9 with a duty cycle of 5/18
嵌入式开发没有激情了,正常吗?
How to identify fake reptiles?
一款国外开发的高质量WordPress下载站模板主题
Implementing a Simple Framework for Managing Object Information Using Reflection