php.ini(php的配置文件)中的magic_quotes_gpc

1.php.ini(php的配置文件)中的magic_quotes_gpc的作用:传递$_GET,$_POST,$_COOKIE请求时是否对单引号做处理(单引号前加反斜杠进行转译,如\’这样就无法执行带单引号的恶意请求),注入时如果目标开启,那么我们无法通过注入点写文件到服务器上(SQl语句不会成功执行)

2.POST型一句话木马,<?php eval($_POST[cmd)]:?>(eval()函数主要是执行php的版本)

3.如果magic_quotes_gpc是关闭的,可以直接在load_file()中用’’并将网站物理路径中的\改为/

例load_file(C:\A\B\C.php)改为load_file(‘C:/A/B/C.php’)。但如果magic_quotes_gpc是打开的话,就将网站物理路径转换成十六进制再直接放在load_file()中不用单引号。通过这种方法也可以知道网站的magic_quotes_gpc是否是打开的。

4读出配置文件后,可以把一句话木马写进服务器:在显示位上’<?php eval($_POST[cmd]);?>’+into outfile+’网站物理路径根目录+/加上新的表’。(如果服务器是linux的话,可能网站的根目录当前用户不可写权限不够,那么可能就得找一个上传的目录,其他用户一般都会有权限的,或者找其他的可以放图片的也是有可能的。)

5、用post型一句话木马的客户端(lanker一句话PHP后门客户端)把后门上传。

时间: 2024-08-04 16:53:55

php.ini(php的配置文件)中的magic_quotes_gpc的相关文章

笔记 php.ini配置文件中magic_quotes_gpc, magic_quotes_runtime的作用是什么?应该开启还是关闭?

默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET.POST 和 COOKIE 数据自动运行 addslashes().不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义.遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测. PHP magic_quotes_gpc=on的情况:我们可以不对输入和输出数据库的字符串数据作addslashes()和stripslas

QSettings 读/写ini配置文件中的数组数据

以前项目中读写ini配置文件,都是以单个key-value形式进行读写,现在项目中又用到了需要把数据数组放置到ini配置文件中,这里结合Qt官方文档进行验证和总结. 配置文件中数据格式,存放三组数据,如图1所示: 图1 1.写入数据 1 void WriteIni() { 2 QList<Login> logins_list; 3 Login log1; 4 log1.userName = "test1"; 5 log1.password = "1111"

unreal3对象属性自动从配置文件中加载的机制

unrealscript中有两个与属性自动配置相关的关键字: config/globalconfig 当把它们应用于属性时,对象在创建后,该属性的初始值会被自动设置为相对应ini文件中的值. 举例来说,如有一个类: class HNet extends Object config(game) native(net); //var globalconfig string host;var config string host; function test() { `Log("HNet test,

键值形式的文件解析api-解析类ini形式的配置文件

glib-键值形式的文件解析api 解析类ini形式的配置文件   前言 本文转自https://developer.gnome.org/glib/unstable/glib-Key-value-file-parser.html 业余时间进行翻译,欢迎批评指正. 函数 GKeyFile * g_key_file_new () void g_key_file_free () GKeyFile * g_key_file_ref () void g_key_file_unref () void g_k

python3比较ini类型的配置文件方案

ini类型的配置文件有个特点,就是配置是分组的,每组有个section,section下面是键值对的形式,python3比较升级前和升级后的配置改变方案:第一步:将section和下面的键值对进行绑定file1 file2 列表,列表中每一项是每组section构成的字典section写成:tag=section名字的形式遍历file2 列表中的每组的tag每次取到一组的tag就去file1 列表中去找file1列表可以先把tag的value先收集为一个列表只要取file2的的tag遍历是不是在

java学习----JDBC---将数据库连接信息放置配置文件中

目录如下: jdbcConnection.java: package jdbc01; import java.io.InputStream; import java.sql.Connection; import java.sql.Driver; import java.util.Properties; import org.junit.Test; /** * 将jdbc连接解耦,放入配置文件中 * @author sawshaw * */ public class jdbcConnection{

mybatis学习(三)----优化Mybatis配置文件中的配置

一.把连接数据库的配置单独放在一个properties文件中 前面我们是把数据库的连接信息放在了mybatis-config.xml中,如下: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/myb

struts2在配置文件中调用Action的方法返回值

struts2在配置文件中可以调用Action的方法返回值 1.Action中 //文件下载名 public String getDownloadFileName(){ String downloadFileName = ""; String filename = fileName + ".xls"; try { downloadFileName = URLEncoder.encode(filename,"UTF-8"); } catch (Un

在spring配置文件中的 &lt;context:property-placeholder/&gt;用途

location属性为 具体配置文件的classpath:地址 (可以取配置文件中的值利用${key}的形式,而不用多次写值) 1.这样一来就可以为spring配置的bean的属性设置值了,比如spring有一个jdbc数据源的类DriverManagerDataSource 在配置文件里这么定义bean: <bean id="testDataSource" class="org.springframework.jdbc.datasource.DriverManager