蓝奏云分享文件夹解析-PHP
(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )
1.打开某蓝奏云文件夹分享链接,输入密码
通过分析filemoreajax.php可以看出传参
[Asm] 纯文本查看 复制代码
其中T 和 K的参数是通过网页获取的
PHP取值
[Asm] 纯文本查看 复制代码
通过获取网页代码获取参数值
获取文件夹列表
[Asm] 纯文本查看 复制代码
然后访问发现获取JOSN成功
但是发现直接传参pg=2不能实现下一页
可能因为t,k是动态的,应该是要和第一页的t,k值相同,这里的话直接访问pg=2,是刷新了t,k的值的,而且没有访问第一页,所以导致获取不到第一页内容,但是具体不知道是怎么实现下一页,欢迎大佬修复下一页指点。
下面送上完整代码:
lanzoui_3C2727.zip2022-10-19 10:41 上传点击文件名下载附件
下载积分: 吾爱币 -1 CB
image.png
通过分析filemoreajax.php可以看出传参
[Asm] 纯文本查看 复制代码
lx=2 //未知fid=2455975 //应该是文件分享ID什么的uid=569689 //应该是用户IDpg=1 //这是页码,蓝奏云一页显示50条数据rep=0 //未知t=1666146943 //每次访问会更新k=5e30653d4f54227c4856e473e49c3d5b //每次访问会更新up=1 //未知ls=1 //未知pwd=fp0b //分享密码
其中T 和 K的参数是通过网页获取的
PHP取值
[Asm] 纯文本查看 复制代码
<?phpheader('content-type:text/html;charset=utf-8');include 'config.php';$pg = $_GET['pg'];$content=post_api($url);preg_match("/t':(.*),/U", $content, $qt);preg_match("/k':(.*),/U", $content, $qk);preg_match("/$qt[1] = '(.*)\'/U", $content, $t);preg_match("/$qk[1] = '(.*)\'/U", $content, $k);preg_match("/fid\':(.*),/U", $content, $fid);preg_match("/uid':'(.*)\'/U", $content, $uid);$post_data=array( 'lx'=>2, 'fid'=>$fid[1], 'uid'=>$uid[1], 'pg'=>$pg, 'rep'=>0, 't'=>$t[1], 'k'=>$k[1], 'up'=>1, 'ls'=>1, 'pwd'=>$pwd);
通过获取网页代码获取参数值
获取文件夹列表
[Asm] 纯文本查看 复制代码
$json=post_api('https://www.lanzoui.com/filemoreajax.php',$post_data);preg_match_all('/\"id\":\"(.*)\"/U', $json, $id);preg_match_all('/\"name_all\":\"(.*)\"/U', $json, $name);preg_match_all('/\"size\":\"(.*)\"/U', $json, $size);preg_match_all('/\"icon\":\"(.*)\"/U', $json, $icon);preg_match_all('/\"ico\":\"(.*)\"/U', $json, $ico);$i=0;foreach($id[1] as $key){ $result[]=array( 'id'=>$i, 'duan'=>$id[1][$i], 'name'=>unicodeDecode($name[1][$i]), 'size'=>$size[1][$i], 'type'=>$icon[1][$i], 'ico'=>$ico[1][$i], ); $i++;}echo json_encode($result);function post_api($url,$data=null){ // 模拟提交数据函数 $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查 curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36'); // 模拟用户使用的浏览器 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包 curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环 curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 $tmpInfo = curl_exec($curl); // 执行操作 if (curl_errno($curl)) { echo 'error';//捕抓异常 } curl_close($curl); // 关闭CURL会话 return $tmpInfo; // 返回数据,json格式 }function unicodeDecode($unicode_str){ $json = '{"str":"'.$unicode_str.'"}'; $arr = json_decode($json,true); if(empty($arr)) return ''; return $arr['str'];}?>
然后访问发现获取JOSN成功
image.png
但是发现直接传参pg=2不能实现下一页
image.png
可能因为t,k是动态的,应该是要和第一页的t,k值相同,这里的话直接访问pg=2,是刷新了t,k的值的,而且没有访问第一页,所以导致获取不到第一页内容,但是具体不知道是怎么实现下一页,欢迎大佬修复下一页指点。
下面送上完整代码:
lanzoui_3C2727.zip2022-10-19 10:41 上传点击文件名下载附件
下载积分: 吾爱币 -1 CB
下一篇:VSTO简单解密