php中sql格式化字符串,sqli注入-sprintf格式化字符串带来的注入隐患
PHP中 sprintf()格式化输出详解
sprintf()函数把格式化的字符串写入变量中。
arg1、arg2、++参数将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个%符号处,插入arg1,在第二个%符号处,插入arg2,以此类推。
注释:如果%符号多于arg参数,则您必须使用占位符。占位符位于%符号之后,由数字和“\$”组成。
$number = 2;
$str = "Shanghai";
$txt = sprintf("There are %u million cars in %s.",$number,$str);
echo $txt;
?>
运行结果为:There are 2 million cars in Shanghai.
1.使用格式值%f:
$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
?>
运行结果为:123.000000
2.使用占用符:
$number = 123;
$txt = sprintf("带两位小数:%\$.2f
不带小数:%1\$u",$number);
echo $txt;
?>
运行结果为:带有两位小数:123.00
不带小数:123
在php的格式化字符串中,%后的一个字符(除了'%')会被当作字符类型,而被吃掉,单引号',斜杠\也不例外。
如果能提前将%' and 1=1#拼接入sql语句,若存在SQLi过滤,单引号会被转义成\'
select * from user where username = '%\' and 1=1#';
然后这句sql语句如果继续进入格式化字符串,\会被%吃掉,'成功逃逸
sql = "select * from user where username = '%\' and 1=1#";
$args = "admin";
echo sprintf($sql,$args);
result: select * from user where username = ' ' and 1=1#' and password = 'admin';
php中sql格式化字符串,sqli注入-sprintf格式化字符串带来的注入隐患相关推荐
- bWAPP中SQL注入思路
bWAPP中SQL注入思路 SQL Injection (GET/Search) 等级:low 首先看看正常搜索的情况,这里我输入了一个字母b,可以看出来他把标题带有b的电影信息全都给搜出来了 在这里 ...
- ssacanf\Sprintf格式化字符串
一.sscanf sscanf() - 从一个 int sscanf(const char *buffer,const char *format,[argument ]...); buffer 存储的 ...
- java 防止sql注入_Java中SQL注入以及如何轻松防止它
java 防止sql注入 什么是SQL注入? (What is SQL Injection?) SQL Injection is one of the top 10 web application v ...
- CTF中SQL注入常见题型整理
前言 SQL在CTF每一次比赛中基本上都会出现,所以有了这一篇总结,防忘. 简而言之:SQL注入用户输入的数据变成了代码被执行. 这一篇这要写的是sql注入中各种经典类型的案例.暂时只写这么一点,后面 ...
- java字符串 大括号_string.format格式化字符串中转义大括号“{}”
今天,用Java读取配置文件占位符,使用String.Format(string format,object arg0)方法.以前只知"{0}"为索引占位符(即格式项),与参数列表 ...
- sql 解析字符串添加到临时表中 sql存储过程in 参数输入
sql 解析字符串添加到临时表中 sql存储过程in 参数输入 解决方法 把字符串解析 添加到 临时表中 SELECT * into #临时表 FROM dbo.Func_SplitOneCol ...
- sql注入程序_Java应用程序中SQL注入
sql注入程序 在本文中,我们将讨论什么是SQL注入攻击. 以及它如何影响任何Web应用程序使用后端数据库. 在这里,我专注于Java Web应用程序. 开放Web应用程序安全性项目(OWAP)列出了 ...
- Mybatis中SQL注入攻击的3种方式,真是防不胜防!
作者 | sunnyf 来源 | https://www.freebuf.com/vuls/240578.html 前言 SQL注入漏洞作为WEB安全的最常见的漏洞之一,在java中随着预编译与各种O ...
- Oracle ------ SQLDeveloper中SQL语句格式化快捷键
Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选 ...
最新文章
- shell+中sum的用法_Shell中函数使用
- python读取大文件太慢_python读取大文件越来越慢的原因与解决
- 尚学linux课程---8、rpm软件包安装
- Template Code 无法使用 this.Host 报错
- 价值投资/指标选股(akshare)
- 一季度平板电脑市场:苹果稳居第一,华为第二!
- 在UAP中如何通过WebView控件进行C#与JS的交互
- knn算法java版_KNN算法的实现详解
- MVC通过重写OnActionExecuting获取控制器,方法和域
- Devexpress GridView 提交焦点列
- Android平台的通话计时源码
- Ajax控件和类库简析
- 程序设计导引及在线实践之大整数除法
- Java 经纬度转UTM投影
- 崔云php_佘家村里的“茉莉香”
- 2020全国高校计算机能力挑战赛(word模拟题)
- mysql弱口令加强,Mysql弱口令取得系统权限(续)
- unity 许可证即将到期_了解Unity即将推出。
- fedora 20 安裝 及 配置桌面環境
- adb push文件夹
热门文章
- 什么是Docker?看这一篇文章就够了
- 行,Python玩大了!​取代Excel,程序员:太牛!你怎么看?
- 996!007!同是敲了2万行代码,为什么他却晋升了?
- 云栖大会|十年阿里云存储进化史:今天最好的表现就是明天最低的要求
- 神龙X-Dragon,这技术“范儿”如何?| 问底中国IT技术演进
- Cloud一分钟 | 云存储服务商​Egnyte获7500万美元E轮融资,高盛领投
- video怎么重新加载 vue_vue 事件中更改video的src成功,视频不加载
- DMN结合bpmn简化流程_07
- VS Code 常用快捷键
- idea解决maven pom依赖下载失败