ctfshow-代码审计
web301
题目(给了源码)
checklogin.php
1 |
|
fun.php
1 |
|
给的代码里主要的就是这两个代码了,那么我们就可以对这个代码进行审计一下
我们进行审计发现这个代码sql是没有waf的,那么我们就可以尝试去进行一下sqlmap工具的利用
1 | sqlmap -u http://f06618b6-6697-4bc5-a506-50b8e9ce7739.challenge.ctf.show/checklogin.php --form --batch --dump |
yu师傅使用的这个工具就会全部导出数据库 表 列 和列里面的东西
最后就会拿到账号密码了
拿到flag了
这里的话代码中又有一个逻辑漏洞
这里就是只要我们输入的密码和数据库中的密码相等就行了
他这里是利用sql语句来查找数据库中的密码,这里我们就可以进行控制数据库中的密码
当前面查询不存在时,就会使用后面定义的值
paylaod
1 | 1' union select 1# |
web302
题目
给了给题目说明
修改的地方
1 | if(!strcasecmp(sds_decode($userpwd),$row['sds_password'])) |
这里修改了这,那么就会对我们传进来的userpwd进行加密
1 |
|
因为我们传进来的str是1,所以就可以利用这个写好的php代码来进行生成加密后的值
1 | 1' union select "d9c77c4e454869d5d8da3b4be79694d3"# |
然后在重新修改一下sql语句
然后这道题就完成,这只是简单的对用户传进来的密码进行加密而已,然后又给了加密代码,所以这样就能通过给的加密代码判断出加密的值了
web303
题目
这次换源码了
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ke1nys`Blog!