IceCTF - Intercepted Conversations Pt.2 WriteUp

追踪 Protocol 为 IRC 的流,可以得到一段聊天内容

聊天

大意是传输了一个 encode.pyc 文件,并用其加密了一段文字,密文如下:
Wmkvw680HDzDqMK6UBXChDXCtC7CosKmw7R9w7JLwr/CoT44UcKNwp7DllpPwo3DtsOID8OPTcOWwrzDpi3CtMOKw4PColrCpXUYRhXChMK9w6PDhxfDicOdwoAgwpgNw5/Cvw==

于是就想办法提取出这个 pyc 文件,pyc 是 python 编译后的文件(pyc pyo 等文件格式的详解: https://blog.youkuaiyun.com/willhuo/article/details/49886663

继续检查数据包,在筛选器中筛选 data 可以发现这个包

筛选数据包

可以看到它的开头是 16 0d ,这是 Python 3.5 编译后的特征码 ,可以确定这就是我们要找的 encode.pyc(Python 各版本编译后的特征码可以在这查询 https://gist.github.com/delimitry/bad5496b52161449f6de

将提取出的 encode.pyc 文件用 uncompyle6 ( https://github.com/rocky/python-uncompyle6 )反编译如下:

# Offsec Research CTF Team
import random, base64, string, sys
P = [27,35,50,11,8,20,44,30,6,1,5,2,33,16,36,64,3,61,54,25,12,21,26,10,57,53,38,56,58,37,43,17,42,47,4,14,7,46,34,19,
`ElementClickInterceptedException` 异常通常是由于要点击的元素被其他元素遮挡或覆盖而无法被点击。这种情况下,可以尝试以下方法解决该异常: 1. 使用 `WebDriverWait` 等待要点击的元素可见并可点击,然后再进行点击操作。例如: ```python from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By # 等待10秒直到元素可以被点击 checkbox = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//input[@type='checkbox' and @name='all']"))) checkbox.click() ``` 2. 在点击要点击的元素之前,使用 `execute_script()` 方法执行一段 JavaScript 代码,将要点击的元素滚动到可见区域。例如: ```python checkbox = driver.find_element_by_xpath("//input[@type='checkbox' and @name='all']") driver.execute_script("arguments[0].scrollIntoView();", checkbox) checkbox.click() ``` 3. 如果要点击的元素被覆盖,可以尝试点击覆盖它的元素的父元素或祖先元素,或者使用 `ActionChains` 类模拟鼠标移动和点击操作。例如: ```python from selenium.webdriver.common.action_chains import ActionChains checkbox = driver.find_element_by_xpath("//input[@type='checkbox' and @name='all']") parent_element = checkbox.find_element_by_xpath("..") # 获取父元素 ActionChains(driver).move_to_element(parent_element).click().perform() # 模拟鼠标移动和点击操作 ``` 以上方法可以在不同的情况下解决 `ElementClickInterceptedException` 异常。如果仍然无法解决问题,可以检查页面元素的布局和结构,或者尝试使用其他的定位方法来定位要点击的元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值