curl()
说明
bool curl_setopt ( resource $ch , int $option , mixed $value )
为给定的cURL会话句柄设置一个选项。
参数
ch
由 curl_init() 返回的 cURL 句柄。
option
需要设置的CURLOPT_XXX选项。
value
将设置在option选项上的值。
CURLOPT_HEADER :启用时会将头文件的信息作为数据流输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1) //不返回header头消息
CURLOPT_RETURNTRANSFER :将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1) //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
curl_init():初始化一个新的会话,返回一个cURL句柄,供curl_setopt(), curl_exec()和curl_close() 函数使用。如果成功,返回一个cURL句柄,出错返回 FALSE
curl_exec(resource $ch):执行给定的cURL会话。这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。
参数ch由 curl_init() 返回的 cURL 句柄。
成功时返回 TRUE, 或者在失败时返回 FALSE。 然而,如果 CURLOPT_RETURNTRANSFER选项被设置,函数执行成功时会返回执行
的结果,失败时返回 FALSE
curl_close() :关闭一个cURL会话
CTFSHOW过关知识点:
- 当IP地址被过滤时,如127.0.0.1被过滤,0可以忽略,写成127.1 127.0.1
另外可以将ip地址的各位转换成8进制或者16进制 十六进制: 0x7F.0x00.0x00.0x01 当然也可以只转一个,具体视情况定
八进制 : 0177.0.0.1
- 修改自己域名的Address记录
-
http://0/flag.php 0在linux系统中会解析成127.0.0.1在windows中解析成0.0.0.0
PHP header 的7种用法
1. 跳转页面
header('Location:'.$url); //Location和":"之间无空格。
2. 声明content-type
header('content-type:text/html;charset=utf-8');
3. 返回response状态码
header('HTTP/1.1 404 Not Found');
4. 在某个时间后执行跳转
header('HTTP/1.1 404 Not Found');
5. 控制浏览器缓存
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache");
6. . 执行http验证
header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm="Top Secret"');
7. 执行下载操作
header('Content-Type: application/octet-stream'); //设置内容类型 header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件 header('Content-Transfer-Encoding: binary'); //设置传输方式 header('Content-Length: '.filesize('example.zip')); //设置内容长度
https://blog.csdn.net/wo41ge/article/details/108405130
ssrf漏洞详解https://www.cnblogs.com/happystudyhuan/p/11802961.html