西电2017网信实验班选拔
来源:互联网 发布:vscode c 开发环境 编辑:程序博客网 时间:2024/05/17 07:47
本文转载http://pupiles.com/shiyanbanwirteup.html
Web01
第一题先看源码,得到发现可以用常规思路万能密码绕过
构造
username=’ or ‘1’=’1’#
Password随便即可绕过
即可构造出select * from users where name = ‘’ or ‘1’=’1’#andxxxxx
因为#是注释所以注释掉了后面语句
得到flag
flag{justForTestL0g1n}
WEB7
第二题可以构造后台语句
Username=0 union select 1,2,md5(1)#
Password=1
绕过,得到flag
这里可以先猜测数据库有3列,id,username,password,然后通过联合查询使password字段为1的md5值
这样通过输入password=1可以实现经过后台逻辑判断可以绕过。
flag{Second2@16L0g1n}
WEB05
上御剑
访问robots.txt
访问flag.txt
Web04
这题一开始没啥思路,上御剑扫目录
结果发现一个.index.php.swp源码泄露
先贴一下源码
12345678910111213141516171819202122232425262728293031
if ("POST" == $_SERVER['REQUEST_METHOD']){$password = $_POST['password'];if (0 >= preg_match('/^[[:graph:]]{16,}$/', $password)){echo '鐪熺殑鍚楋紒锛 '; exit;}while (TRUE){$reg = '/([[:punct:]]+|[[:digit:]]+|[[:upper:]]+|[[:lower:]]+)/';if (6 > preg_match_all($reg, $password, $arr))break;$c = 0;$ps = array('punct', 'digit', 'upper', 'lower');foreach ($ps as $pt){if (preg_match("/[[:$pt:]]+/", $password))$c += 1;}if ($c < 3) break; if ("2017" == $password){include_once("flag.php");echo $flag;}else echo 'Duang锛侊紒锛 '; exit; } }
审计源码,这里我不知道graph是啥意思(后来知道了是除(空格键与[TAB]键)之外的所有按键) )。只好fuzz,fuzz了半天发现原来是要输入超过16位,而且必须结果等于2017,这里我当时想到了俩个思路一个是0x7E1另外一个是2017.0000000000000000001
后面有说必须要有标点,大小写,数字一大堆的,了解了原理,本地搭建一个环境进行fuzz一下
结果发现本地fuzz出一个,结果弄进去不给我过ORZ
1
0x7E1&111111111111
继续fuzz半天发现了一个发现2017.0000000000是等于2017然而缺少字母,想到了eN等于10的N次方
所以最后的payload
1
20170.000000000000000000000e-1
web02 抽奖
这题没毛病,以前打陕西省网络空间安全的时候做的题,这次再做的时候莫名其妙找不到JSFuck了,晕,幸好本地正好直接有当时的wp,随手试了试了一下当时的flag发现直接可以过,(吐槽一下出题人真是懒,flag都没改)这里贴一个链接,感兴趣的小伙伴可以去看一下http://blog.csdn.net/qq_35078631/article/details/70256502
Web03
这题没撸了好长没弄出来,就先说一下思路吧,首先御剑扫到了一个flag.php,所以我们尝试读取flag.php,但是好像做了黑名单检测,就是读不了,这里我尝试了一下../发现貌似会被替换为空,然而放在tes../t.txt文件就不存在了,ORZ。然后00截断啥的尝试了一下也没啥用就放弃了。。
cipher0x
第一题提示放射密码,直接用上学期老胡布置的作业的完整版本程序跑一下就好了,源码如下
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
void sttub(int t,int s);void sttuben();void sttuban();char p[1000],str[1000]={0},q[1000]={0};int count[26]={0},k1[12]={1,3,5,7,9,11,15,17,19,21,23,25};int k2,k3,c,i,n,t,s,ch;int main(){printf("选择一种模式:1—>加密,2—>解密,3—>暴力破解,4—>字频破解\n");scanf("%d",&c);switch(c){case 1:{system("color E");printf("请输入明文\n");fflush(stdin);gets(p);ch=strlen(p);printf("请输入密钥\n");scanf("%d,%d",&t,&s);for(n=0;n<ch;n++){if((p[n]>='A')&&(p[n]<='Z'))str[n]=(t*(p[n]-'A'+s))%26+'A';else if((p[n]>='a')&&(p[n]<='z'))str[n]=(t*(p[n]-'a'+s))%26+'a';elsestr[n]=p[n];}printf("密文:%s\n",str);}break;case 2:{system("color A");printf("请输入密文\n");fflush(stdin);gets(p);ch=strlen(p);printf("请输入密钥\n");scanf("%d,%d",&t,&s);sttub(t,s);printf("%s\n",str);}break;case 3:{system("color C");fflush(stdin);printf("请输入需要破解的密文\n");gets(p);ch=strlen(p);sttuben();}break;case 4:{system("color E");printf("请输入需要破解的密文\n");fflush(stdin);sttuban();}}}void sttub(int t,int s){for(k3=0;k3<1000;k3++)if((t*k3)%26==1)break;for(n=0;n<ch;n++){if((p[n]>='A')&&(p[n]<='Z'))str[n]=(k3*(p[n]-'A'-s)+2600000)%26+'A';else if((p[n]>='a')&&(p[n]<='z'))str[n]=(k3*(p[n]-'a'-s)+2600000)%26+'a';elsestr[n]=p[n];}}void sttuben(){for(i=0;i<12;i++)for(k2=0;k2<26;k2++){sttub(k1[i],k2);if(strstr(str,"FLAG")||strstr(str,"flag"))printf("该句含FLAG: { %s }\n",str);elseprintf("%s ",str);}}void sttuban(){int x,y;int max=0,min=100000;gets(p);ch=strlen(p);for(i=0;i<ch;i++)q[i]=toupper(p[i]);for(i=0;i<ch;i++)if((q[i]>='A')&&(q[i]<='Z'))count[q[i]-'A']++;for(i=0;i<26;i++){if(count[i]>max){max=count[i];x=i;}if(count[i]<min){min=count[i];y=i;}}for(i=0;i<12;i++)for(k2=0;k2<26;k2++)if((x==((k1[i]*('E'-'A')+k2)%26))&&((y==((k1[i]*('Z'-'A')+k2)%26)))){t=k1[i];s=k2;printf("%d %d\n",t,s);break;}sttub(t,s);printf("%s\n",str);for(i=0;i<26;i++)printf("%c-->%d\n",i+'A',count[i]);}
网信 007
这题用wireshark追踪一下tcp流,在发现传输了一个hello.txt和secret.png的图片,在20流左右发现了png的16进制右键以原始数据流的形式提取出来,打开发现flag
真有这么难?
这题真的不记得了,下载下来发现有个zip,好像flag.txt藏在其中一个文件夹里面
编程小练习
只能说这题太恶心了,最后一次机会才试出来,差点给跪,原来要加flag{Akye}
123
str = 'balabalabalabala'print str[98]+str[300]+str[1200]+str[1332]
- 西电2017网信实验班选拔
- 杭电 1678 Shopaholic(606比赛选拔 2017-08-20) (1001)
- 杭电1021 Fibonacci Again(606比赛选拔 2017-08-20)(1002)
- 杭电 2567 寻梦(606比赛选拔 2017-08-20)(1005)
- 杭电 2037 今年暑假不AC(606比赛选拔 2017-08-20)(1004)
- 杭电 1171 Big Event in HDU(606比赛选拔 2017-08-20)(1003)
- 终于进入电赛选拔第二关了……
- NWPU省赛选拔2017
- 0914测试【提高组】(系实验选拔考2)
- 数电实验报告-
- CMS-电商 微信
- XDU-2017省赛选拔第一场
- 杭电acm 悼念512汶川大地震遇难同胞——选拔志愿者
- 杭电2188悼念512汶川大地震遇难同胞——选拔志愿者
- 信安实验-RC4加密算法
- 74LS160 笔记 数电实验
- 2010,11,12数电实验
- 模电实验答案(带题目)
- Tomcat源码分析(三)------ Request和Response处理的全过程
- Linux运维 -- day02 配置ip地址
- 排序算法学习笔记(sorting algorithms)
- 比赛
- Centos下 rpm 打补丁,patch
- 西电2017网信实验班选拔
- anaconda
- windows/vs如何获取程序内存使用量和时间花费
- 【LeetCode】496 Next Greater Element I
- Link16战术数据链的基础知识
- 记录一下matplotlib的使用。
- 希尔排序的介绍与分析
- BZOJ 1098: [POI2007]办公楼biu
- servlet