您当前的位置: 首页 > 

葫芦娃42

暂无认证

  • 5浏览

    0关注

    75博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

pwnthebox刷题(ereg截断函数&某py request脚本)

葫芦娃42 发布时间:2022-05-17 22:02:57 ,浏览量:5

[pwnthebox] 对方不想和你说话,并向你扔了一段代码

php中extract()函数存在变量覆盖漏洞,所以讲url后面加上 /?a=&b=,$a和$b变量内容为空字符串造成两个的值相等,或者直接就 /a= ,也行。得到flag。

[pwnthebox] 你给我一个满意的数字,我就给你flag!

查看源码,发现index.php.txt.访问得到了源码:

审计后发现,需要满足:

if (isset ( $_POST ['num'] )) {
	if (@ereg ( "^[1-9]+$", $_POST['num'] ) === FALSE)
		echo '说好的数字呢?';
	else if (strpos ( $_POST['num'], '#testaasafd' ) !== FALSE)
		die ( 'Flag: ' . $flag );

ereg函数存在截断漏洞。

采用%00截断来绕过数字检测,同时strpos检测num中的#testaasafd返回true。

hackbar传入:

?num=1%00#testaasafd  得到flag。

ereg
if (isset ($_GET['password'])) 
{
  if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE)
  {
    echo '

You password must be alphanumeric

'; } else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999) { if (strpos ($_GET['password'], '*-*') !== FALSE) //strpos — 查找字符串首次出现的位置 { die('Flag: ' . $flag);

同上题,ereg函数存在%00截断,这道题多了对password的长度进行了限制,还要满足>9999999.科学计数法绕过。

构造。

?password=1e8%00*-* 即可

变量

根据题目和题的提示可知,flag在全局变量中。传入GLOBALS即可。

无语子

?hello=`cat flag.php`

在源码中得到flag。

快速计算

3秒内算出结构并输入,人肯定算不了这么快,用python脚本计算看返回结果,得到flag。

import requests, re

url = 'https://1719-8daad556-e60b-4884-8dd3-97644aa066fd.do-not-trust.hacking.run/'
# Session():模拟登录操作

s = requests.Session()  # 创建一个Session对象:s


def getURL(url):
    con = s.get(url)  # 发送请求,使用默认得登录属性
    res = con.text  # 获取页面text格式转换得字符串:res
    return res


def Calculation(text):
    #print((re.findall(".*            
关注
打赏
1658420143
查看更多评论
0.0351s