目录
题目(根据公钥文件解密密文文件)
1.根据公钥文件可以得到e和n
2.分解n。尝试费马分解,分解失败。使用工具分解。猜测费马失败的原因是p和q相差太大
3.发现flag解不出来,推测可能是flag文件在进行转换运算时可能会出现某种错误
4.尝试生成私钥直接对flag文件进行解密,得到flag
5.题目总结:核心代码是使用Crypto.Cipher库写一个直接对加密文件通过私钥文件进行解密。
核心代码的详细步骤:引用库中的new函数实现对私钥的实例化,然后通过私钥使用decrypt()函数进行密文的解密
研究e与t不互素原理分析
- e与t不互素出题
发现代码原理是一直循环选数字,当e和t不为1时则终止循环,成功出题
- 验证e和t不互素的特征,无法通过e和t求出d,而且n和t也是相等的
报错无法求d
3.根据网上公式求解
- 题目总结
题目(e与t不互素两组数据)
- 发现题目有两组密文,猜测flag可能是这两组密文拼合起来。P1和p2相同猜测可能两组可能有什么联系,先尝试求d发现d求不出来。E和t不互素
2.尝试用一组求解,发现根次方没有解
3. 根据互不素数原理和中国剩余定理进行求解
中间的\xcf\x86为utf-8编码转换得到字符:φ
总结:基于互不素数求出m,再通过剩余定理对m进一步计算得到flag
题目(公钥和秘钥文件)
- 直接通过import_key提取公钥文件中e和n,n再通过工具进行分解。提取flag并转化十进制。直接通过运算得出flag
- 测试发现使用文章中第一题的生成私钥方法解密失败
总结:这题直接提取密文数据转化成十进制就可以运算了,没有文章中第一题出现的某种错误,但这一题使用文章中第一题的直接生成私钥后解密出现错误,提示Only byte strings of equal length can be xored(只有长度相等的字节串才能被替换),仔细发现解出来的flag明文只有后面几个数据被加密,推测这可能是没有使用私钥解密成功的原因
dwvva文件上传(1级)
- 分析源代码
发现服务器对上传文件的类型、内容没有做任何的检查、过滤,存在明显的文件上传漏洞,生成上传路径后,服务器会检查是否上传成功并返回相应提示信息。
如果上传成功,则会提示 路径+succesfully uploaded! 如果上传失败,则会提示 Your image was not uploaded。
版权声明:本文为CSDN博主「谢公子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:DVWA之File Upload (文件上传漏洞)_谢公子的博客-CSDN博客
1.1basename() 函数返回路径中的文件名部分。
1.2 $_FILES 是一个预定义的数组,用来获取通过 POST 方法上传文件的相关信息
$_FILES['myFile']['name']客户端文件的原名称。
1.3move_uploaded_file() 函数上传的文件移动到新位置
- 写一句话木马 1.php上传,用来注入cmd命令的语句
3.查看已经上传成功
4.
尝试url仔细上传的php语句并注入语句,发现成功注入
题目总结:php上传服务器后,可以直接利用php执行直接需要的语句,以达到利用的效果