php跳转

CTF WEB总结

只谈情不闲聊 提交于 2020-02-06 23:15:31
1.http协议报头 使用referer字段来伪造来源 问:某些页面要求你必须要通过http://www.xxxx.com进行访问? 答:增加一个referer字段 Referrer:http://www.xxxx.com (题目要求的url) 使用X-Forwarded-For来伪造ip 问:题目要求必须是某个ip地址如1.1.1.1,才允许访问。 答:增加一个X-Forwarded-For字段 X-Forwarded-For:1.1.1.1 使用User-Agent:伪造代理 问:某些题目要求必须使用某个浏览器如HAHA浏览器,才允许访问。 答:增加User-Agent字段 User-Agent:HAHA 问:页面要求必须要安装了.net 9.0版本了才能访问。 答:修改User-Agent字段 User-Agent:.NET CLR 9 使用Accept-Language修改语言 问:题目要求只能外国人才能访问这个页面。 答:修改Accept-Language字段 Accept-Language: en-US,en;q=0.8 直接查看http协议报头 问:题目什么都没有提示,但是答案就直接是藏在http请求报头里面。 答:在使用burp suit的时候注意看清楚头部有哪些内容。 2.sql注入 判断是否过滤常见关键字 答:在输入框中输入字符串

php常用head信息

橙三吉。 提交于 2020-01-31 20:35:14
<?php header('HTTP/1.1 200 OK'); // ok 正常访问 header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在 header('HTTP/1.1 301 Moved Permanently'); //设置地址被永久的重定向 301 header('Location: http://www.ithhc.cn/'); //跳转到一个新的地址 header('Refresh: 10; url=http://www.ithhc.cn/'); //延迟转向 也就是隔几秒跳转 header('X-Powered-By: PHP/6.0.0'); //修改 X-Powered-By信息 header('Content-language: en'); //文档语言 header('Content-Length: 1234'); //设置内容长度 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); //告诉浏览器最后一次修改时间 header('HTTP/1.1 304 Not Modified'); //告诉浏览器文档内容没有发生改变 ###内容类型### header('Content-Type: text/html; charset=utf-8

支付宝php支付接口说明

岁酱吖の 提交于 2020-01-26 10:17:56
直接把该代码放到PHP服务器下,直接访问index.php. 1、文件列表: alipay_config.php (基本参数配置页面,填写商家的支付宝安全校验码,合作id,支付宝帐号等内容) index.php (提供给商家的接入页面,包含了物流信息,商品信息等内容) return_url.php (跳转页面,买家支付成功后跳转的页面,仅当买家支付成功后跳转一次。) notify_url.php (异步通知,下单成功后,支付宝服务器通知商户服务,并把这笔订单的状态通知给商户,商户根据返回的这笔订单的状态,修改网站订单的状态,比如等待买家付款状态,买家已经付款等待卖家发货.....) alipay_service.php 支付核心类文件(建议不要修改) alipay_notify.php 返回核心类文件(建议不要修改) 2、文件内容说明: alipay_config.php 文件 -- show_url = "" '商户网站的网址。 -- seller_email = "" '请填写签约支付宝账号, -- partner = "" '填写签约支付宝账号对应的partnerID, -- key = "" '填写签约账号对应的安全校验码 如何获取支付宝帐号,安全校验码和partner '登陆 www.alipay.com 后, 点商家服务,可以看到支付宝安全校验码和合作id,导航栏的下面

用户登录页面--SQL注入

大兔子大兔子 提交于 2020-01-23 18:07:36
web网站攻击方式多种多样,sql注入是经常使用的攻击方向。攻击者把SQL命令插入到Web表单的输入域或页面请求的字符串,欺骗服务器执行恶意的SQL命令 SQL注入不是Web或数据库服务器中的缺陷,而是由于编程实践较差且缺乏经验而导致的。 动态拼接的SQL指令最易受攻击。 如登录时使用的SQL指令: $query = 'SELECT * from Users WHERE login = ' $username ' AND password = ' $password' 攻击者主要利用了mysql的注释指令:# 或者 -- 攻击者在帐户文本框中输入 aaa' or 1=1 #, 即可骗过服务器,成功登录 详情情况看下面的代码: 数据库 连接数据库的conn.php <?php $mysqli = new mysqli('localhost','root','root','demo'); if($mysqli->connect_errno){ printf("连接数据库失败: %s\n", $mysqli->connect_error); exit(); } $mysqli->query('set names utf8'); 用户登录 login.php <?php if(empty($_POST)){ session_start(); unset($_SESSION);

LNMP动态网站

我的未来我决定 提交于 2020-01-14 01:17:21
LNMP基础知识 什么是LNMP 主流的企业网站平台之一 L:Linux操作系统 N:Nginx网站服务软件 M:MySQL.MariaDB数据库 P:网站开发语言(PHP.Perl.Python) 静态网站和动态网站区别 静态网页: (1)静态网页不能简单地理解成静止不动的网页,他主要指的是网页中没有程序代码,只有HTML(即:超文本标记语言),一般后缀为.html,.htm,或者.xml等。虽然静态网页的页面一旦做成,内容就不会再改变了。但是,静态网页也包括一些能动的部分,这些主要是一些GIF动画等 (2)静态网页的打开,用户可以直接双击,并且不管任何人任何时间打开的页面的内容都是不变的。 动态网页: (1)动态网页是指跟静态网页相对的一种网页编程技术。动态网页的网页文件中除了HTML标记以外,还包括一些特定功能的程序代码,这些代码可以使得浏览器和服务器可以交互,所以服务器端根据客户的不同请求动态的生成网页内容。 即:动态网页相对于静态网页来说,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。 (2)动态网页,与网页上的各种动画、滚动字幕等视觉上的动态效果没有直接关系,动态网页也可以是纯文字内容的,也可以是包含各种动画的内容,这些只是网页具体内容的表现形式,无论网页是否具有动态效果,只要是采用了动态网站技术(如PHP、ASP、JSP等

[极客大挑战 2019]Secret File

戏子无情 提交于 2020-01-12 22:02:15
0x00知识点 没有过滤file 使用php的file伪协议去读取文件 ?file=php://filter/convert.base64-encode/resource=flag.php 0x01解题 打开网站存在跳转。抓包,访问 http://152518b2-d342-4872-8adc-b5bcec554a4d.node3.buuoj.cn/secr3t.php 给了我们源代码 <html> <title>secret</title> <meta charset="UTF-8"><?php highlight_file(__FILE__); error_reporting(0); $file=$_GET['file']; if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){ echo "Oh no!"; exit(); } include($file); //flag放在了flag.php里?></html> 直接使用file伪协议读 base64解密得到flag 来源: https://www.cnblogs.com/wangtanzhi/p/12184620.html

PHP 常用的header头部定义

人盡茶涼 提交于 2020-01-10 14:02:38
<?php header('HTTP/1.1 200 OK'); // ok 正常访问 header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在 header('HTTP/1.1 301 Moved Permanently'); //设置地址被永久的重定向 301 header('Location: http://www.ithhc.cn/ '); //跳转到一个新的地址 header('Refresh: 10; url= http://www.ithhc.cn/ '); //延迟转向 也就是隔几秒跳转 header('X-Powered-By: PHP/6.0.0'); //修改 X-Powered-By信息 header('Content-language: en'); //文档语言 header('Content-Length: 1234'); //设置内容长度 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); //告诉浏览器最后一次修改时间 header('HTTP/1.1 304 Not Modified'); //告诉浏览器文档内容没有发生改变 内容类型 header('Content-Type: text/html; charset=utf-8');

php 获取301跳转后真实的url

瘦欲@ 提交于 2020-01-07 09:06:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在php采集中经常遇到有URL 301重定向的情况,如果出现了这样的情况,有可能出现造成未知的结果,因为主机名不一样了。我们的采集中主机名不能用301重定向前的URL,要用重定向之后的URL。 我在以下PHP的例子中介绍下怎么获取301定向后真实的URL,目前我知道有两种方法 1、用get_headers函数;2、用cURL 现介绍利用get_headers() 函数获取http头 php 自带的get_headers()取得服务器响应一个 HTTP 请求所发送的所有标头。 获取301状态肯定没问题。 301定向的例子: google.com 会301跳转至 www.google.com 再www.google.com 会302跳转至 www.google.com.hk 我写了个php函数 其php函数作用: 输入 google.com 得到 www.google.com.hk 输入 www.google.com 得到 www.google.com.hk 输入 www.google.com.hk 得到 www.google.com.hk <?php /* @param str $url 查询 $return str 定向后的url的真实url */ function getrealurl($url){

PHP中的header()函数-1

拟墨画扇 提交于 2020-01-07 08:19:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> PHP 中 header()函数的作用是给客户端发送头信息。 什么是头信息? 这里只作简单解释,详细的自己看http协议。 在 HTTP协议中,服务器端的回答(response)内容包括两部分:头信息(header) 和 体内容,这里的头信息不是HTML中的<head></head>部分,同样,体内容也不是<BODY>< /BODY>。头信息是用户看不见的,里面包含了很多项,包括:服务器信息、日期、内容的长度等。而体内容就是整个HTML,也就是你所能看见的全 部东西。 头信息有什么用呢? 头信息的作用很多,最主要的有下面几个: 1、跳转 :当浏览器接受到头信息中的 Location: xxxx 后,就会自动跳转到 xxxx 指向的URL地址,这点有点类似用 js 写跳转。但是这个跳转只有浏览器知道,不管体内容里有没有东西,用户都看不到。 2、指定网页的内容 : 同样一个XML文件,如果头信息中指定:Content-type: application/xml 的话,浏览器会将其按照XML文件格式解析。但是,如果头信息中是:Content-type: text/xml 的话,浏览器就会将其看作存文本解析。(浏览器不是按照扩展名解析文件的) 3、附件 : 不知道大家有没有注意,有些时候在一些网站下载东西

前端PHP Session的实例

北城余情 提交于 2020-01-03 00:35:00
登陆例子:(请注意一定要自己敲一遍,不要CV大法) 首先上一下成果图,激起同学们写的欲望,登录页如下: 点击登陆之后如下: 说明哦了,么问题。接下来自己实现一下。 首先数据库信息 : 新建一个名为 login 的数据库,再建一个 user 表,表的结构如下图: 然后开始编码。 login.php代码 <? php session_start (); if ( ( $_POST [ 'username' ] != null ) && ( $_POST [ 'password' ] != null ) ) { $userName = $_POST [ 'username' ]; $password = $_POST [ 'password' ]; //从db获取用户信息 数据库信息改成自己的 $conn = mysqli_connect ( 'host' , 'username' , 'password' , 'login' ); $res = mysqli_query ( $conn , "select * from user where `username` = '$userName' " ); $row = mysqli_fetch_assoc ( $res ); if ( $row [ 'passwd' ] == $password ) { //密码验证通过,设置session