WEB1 比较数字大小

iscc 2018 部分题解wp(更新中)

看一下源代码:发现 输入的值只能为3 那么就改大一点吧

iscc 2018 部分题解wp(更新中)

得到flag

iscc 2018 部分题解wp(更新中)

WEb2 

iscc 2018 部分题解wp(更新中)

首先先看一下那个代码吧

iscc 2018 部分题解wp(更新中)

发现是一个strcmp 函数 只需要传递一个password 过去那么构造为 password[]=abc就可以绕过了

iscc 2018 部分题解wp(更新中)

本地诱惑

iscc 2018 部分题解wp(更新中)

点进去看了一下

iscc 2018 部分题解wp(更新中)

首先还是看一下源代码

iscc 2018 部分题解wp(更新中)

发现了flag

你能跨过去吗?

iscc 2018 部分题解wp(更新中)

首先进行URL解码 去除不必要的字符,截取一段base64解码获得:alert("key:/%nsfocusXSStest%/")<

将key填入后提交获得flag

一切都是套路

看到提示了。好像有个文件忘记删了 

iscc 2018 部分题解wp(更新中)

请ping我的ip 看你能Ping通吗?

看了一下是一个命令执行

iscc 2018 部分题解wp(更新中)

iscc 2018 部分题解wp(更新中)

 

iscc 2018 部分题解wp(更新中)

Please give me username and password!

iscc 2018 部分题解wp(更新中)

继续更新

 昨天是打红帽杯耽误了,红帽杯线下的AWD 实在是大佬太多了!!!!!!!!

然后没时间去写WP ,就叫老虎发了一份给我。下面的这些是china.H.L.B 的WP  发给大家看看吧

你能绕过吗?

 iscc 2018 部分题解wp(更新中)

随便点一个,如下图所示;

iscc 2018 部分题解wp(更新中)

把id=2,修改成6668952,如下图所示;

iscc 2018 部分题解wp(更新中)

 发现id后没有过滤,所以尝试文件包含漏洞,读取包含flag的文件,如下图所示;

iscc 2018 部分题解wp(更新中)

这个是base64的弄到一个页面

iscc 2018 部分题解wp(更新中)

web02

iscc 2018 部分题解wp(更新中)

题目链接中文字中有本机链接,所以抓包修改http请求头,如下图所示;

 iscc 2018 部分题解wp(更新中)

Client-IP:127.0.0.1

点击Intercept is on 放包,如下图所示;

iscc 2018 部分题解wp(更新中)

查看网页,如下图所示;

iscc 2018 部分题解wp(更新中)

 

SQL注入的艺术

iscc 2018 部分题解wp(更新中)

 点击个人信息,如下图所示;

iscc 2018 部分题解wp(更新中)

把链接放入sqlmap,尝试注入,如下图所示;

iscc 2018 部分题解wp(更新中)

发现是宽字符注入并且提示有WAF,所以更尝试绕过WAF,如下图所示;

sqlmap -u “http://118.190.152.202:8015/index.php?id=1“ —tamper unmagicquotes.py —batch -v 3 —level 3 –dump

iscc 2018 部分题解wp(更新中)

试试看

打开链接,如下图所示;

iscc 2018 部分题解wp(更新中)

在img=的地方,测试是否有文件包含漏洞,如下所示;

iscc 2018 部分题解wp(更新中)

发现有文件包含漏洞,如图形所示;

A. payload,如图下所示;

iscc 2018 部分题解wp(更新中)

B. 证明存在的文件包含漏洞,如图下所示;

iscc 2018 部分题解wp(更新中)

(4) 构造payload,如图下所示;

iscc 2018 部分题解wp(更新中)

(5) 打开网页后是空白,如图下所示;

iscc 2018 部分题解wp(更新中)

(6) 打开网页源码,如图下所示;

iscc 2018 部分题解wp(更新中)

Collide

打开链接发现是代码审计题目,如下图所示;

iscc 2018 部分题解wp(更新中)

(2) 审计源码后,使用HashPump攻击;
(3) 安装HashPump;

A.方法一:
git clone https://github.com/bwall/HashPump.git
apt-get install g++ libssl-dev
cd HashPump
make
make install
B.方法二:
pip install hashpumpy
(4) 运行HashPump并且将x替换成%后用hacbar urldecode,如下图所示;

iscc 2018 部分题解wp(更新中)

(5) 运行hackbar,如下图所示;

iscc 2018 部分题解wp(更新中)

(6) 用burp截包改md5值,如下图所示;

iscc 2018 部分题解wp(更新中)

 

Only admin can see flag

 

(1) 打开题目链接,发现只有一个登录对话框。如下图所示;

iscc 2018 部分题解wp(更新中)

(2) 查看源码,发现有一个index.txt的提示,如下图所示;

iscc 2018 部分题解wp(更新中)

(3) 打开index.txt,审计源码,发现是CBC反转漏洞,如下图所示;

iscc 2018 部分题解wp(更新中)

(4) 下面介绍一下CBC字节翻转攻击的原理,如下图所示;

iscc 2018 部分题解wp(更新中)

 

(5) 如上图所示,CBC加密的原理图;
A. Plaintext:待加密的数据。
B. IV:用于随机化加密的比特块,保证即使对相同明文多次加密,也可以得到不同的密文。
C. Ciphertext:加密后的数据。
D. 在这里重要的一点是,CBC工作于一个固定长度的比特组,将其称之为块。在本文中,我们将使用包含16字节的块。
(6) 整个加密的过程简单说来就是;
A.首先将明文分组(常见的以16字节为一组),位数不足的使用特殊字符填充。
B.生成一个随机的初始化向量(IV)和一个密钥。
C.将IV和第一组明文异或。
D.用密钥对C中xor后产生的密文加密。
E.用D中产生的密文对第二组明文进行xor操作。
F.用密钥对E中产生的密文加密。
G.重复E-G,到最后一组明文。
H.将IV和加密后的密文拼接在一起,得到最终的密文。
从第一块开始,首先与一个初始向量iv异或(iv只在第一处作用),然后把异或的结果配合key进行加密,得到第一块的密文,并且把加密的结果与下一块的明文进行异或,一直这样进行下去。因此这种模式最重要的特点就是:
(7) 前一块的密文用来产生后一块的密文,如下图所示;

iscc 2018 部分题解wp(更新中)

(8) 这是解密过程,解密的过程其实只要理解了加密,反过来看解密过程就也很简单了,同样的,前一块密文参与下一块密文的还原。
A.从密文中提取出IV,然后将密文分组。
B.使用密钥对第一组的密文解密,然后和IV进行xor得到明文。
C.使用密钥对第二组密文解密,然后和2中的密文xor得到明文。
D.重复B-C,直到最后一组密文。
(9) 这幅图是我们进行翻转攻击的原理图:

iscc 2018 部分题解wp(更新中)

 

这里可以注意到前一块Ciphertext用来产生下一块明文,如果我们改变前一块Ciphertext中的一个字节,然后和下一块解密后的密文xor,就可以得到一个不同的明文,而这个明文是我们可以控制的。利用这一点,我们就欺骗服务端或者绕过过滤器。
(10) 在登录对话框随意输入一个帐号和密码并且使用bp抓包,如下图所示;

iscc 2018 部分题解wp(更新中)

 

(11) 查看返回包,如下图所示;

iscc 2018 部分题解wp(更新中)

 

(12) 使用脚本进行反转,如下图所示;

iscc 2018 部分题解wp(更新中)

 

(13) bp中的cookie中设置iv和翻转后的cipher并且把post值清空后提交,如下图所示;

iscc 2018 部分题解wp(更新中)

(14) 返回结果如下图所示;

iscc 2018 部分题解wp(更新中)

 

(15) 服务器提示反序列化失败,但是其实我们这个时候只要对这个进行base64解码就会发现,我们的username已经变成了admin;原因是在我们为了修改mdmin为admin的时候,是通过修改第一块数据来修改的,所以第一个块数据被破坏了。因为程序中要求username要等于admin所以不能利用文章里的说的填充字符。 又因为是第一个块数据被破坏,第一个块数据是和IV有关,所以只要将在CBC字符翻转攻击,得到新的IV就可以修复第一块数据。如下图所示;

iscc 2018 部分题解wp(更新中)

iscc 2018 部分题解wp(更新中)

 

(16) 把得到的数值替换iv,cipher不动然后提交。如下图所示;

iscc 2018 部分题解wp(更新中)

 

 

 

PHP是世界上最好的语言           

这个其实可以扫描的。也可以用0e 绕过

 (1) 打开链接发现是代码审计,如下图所示;

iscc 2018 部分题解wp(更新中)

(2) 使用扫描器扫描,发现有no_md5.php文件。如下图所示;

iscc 2018 部分题解wp(更新中)

(3) 审计题目所给的源码,发现是文件包含。如下图所示;

iscc 2018 部分题解wp(更新中)

(4) 所以这样构造语句,如下图所示:

/no_md5.php?a=GLOBALS

iscc 2018 部分题解wp(更新中)

 

 

Only Admin

iscc 2018 部分题解wp(更新中)

(2) 使用扫描器扫描一下,发现了备份文件。如下图所示;

iscc 2018 部分题解wp(更新中)

(3) 把备份文件解压缩,如下图所示;

iscc 2018 部分题解wp(更新中)

(4) 打开config.php发现了需要审计的代码,如下图所示;

iscc 2018 部分题解wp(更新中)

(5) 在登录对话框的email地方输入’ or 1#并且随意输入password,如下图所示;

iscc 2018 部分题解wp(更新中)

 

(6) 点击login,如下图所示;

iscc 2018 部分题解wp(更新中)

(7) 运行脚本写入cookie中,如下图所示;

iscc 2018 部分题解wp(更新中)

 (8) 脚本运行后会在cookie中增加一条如下图所示;

iscc 2018 部分题解wp(更新中)

 

(9) 打开审核元素,如下图所示;

iscc 2018 部分题解wp(更新中)

为什么这么简单啊

(1) 打开链接发现是一个闯关,如下图所示;

iscc 2018 部分题解wp(更新中)

(2) 看到了这俩个要素,如下图所示;

iscc 2018 部分题解wp(更新中)

(3) 这点就类似于DDCTF 2018里边的web题目了,使用BurpSuite抓包并且修改HTTP头,如下图所示;

iscc 2018 部分题解wp(更新中)

(4) 点击GO,得到的返回结果如下图所示;

iscc 2018 部分题解wp(更新中)

(5) 得到第二关地址并且发现需要输入密码才可以获取flag,如下图所示;

iscc 2018 部分题解wp(更新中)

(6) 点击鼠标右键选择查看网页源代码,如下图所示;

iscc 2018 部分题解wp(更新中)'

(7) 点击源代码中的./password.js,如下图所示;

iscc 2018 部分题解wp(更新中)

(8) 发现一段base64代码,如下图所示;

iscc 2018 部分题解wp(更新中)

(9) 进行base64解密,如下图所示;

iscc 2018 部分题解wp(更新中)

(10) 输入密码并且点击获取flag,如下图所示;

iscc 2018 部分题解wp(更新中)

 

Sqli

(1) 打开链接发现是一个登陆对话框,如下图所示;

iscc 2018 部分题解wp(更新中)

(2) 使用BurpSuite抓包,如下图所示;

iscc 2018 部分题解wp(更新中)

(3) 在登录对话框的username输入:-1’ OR (1=1*) or ‘,password输入x,如下图所示;

iscc 2018 部分题解wp(更新中)

(4) 把抓包内容保存成TXT,如下图所示;

iscc 2018 部分题解wp(更新中)

 

(5) 使用sqlmap注入,如下图所示;
A. 注入命令语句,如下图所示;

iscc 2018 部分题解wp(更新中)

 

B. 注入结果,如下图所示;

iscc 2018 部分题解wp(更新中)

 

 

 

有种你来绕

(1) 打开链接发现是一个登陆对话框,如下图所示;

iscc 2018 部分题解wp(更新中)

 

 (2) 使用BurpSuite抓包并且登录尝试,如下图所示;

(3) 通过返回结果得到用户名是admin,如下图所示;

iscc 2018 部分题解wp(更新中)

 

(4) 使用BurpSuite抓包并且进行注入,如下图所示;

iscc 2018 部分题解wp(更新中)

 

(5) 返回结果如下图所示:

iscc 2018 部分题解wp(更新中)

 

(6) 使用脚本跑密码,如下图所示;

(7) 得到password密码为:nishishabi1438
(8) 使用帐号密码登录,如下图所示;

iscc 2018 部分题解wp(更新中)

 

(9) 输入flag获取flag,如下图所示;

iscc 2018 部分题解wp(更新中)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章: