ctfshow刷题记录
web入门180:这处过滤了#,/**/,%00,%a0,– ,空格,
注释都过滤了,还有空格。
我们可以构造 a’or(id>?)||’1’=’0 来达到目的。
第一个引号闭合之前的,不能用空格就用(),其中||是或的意思,但是我查了好久,网上说是连接符。
这样就可以达到闭合后面的 ‘ ,因为有limit 1所以要一个一个尝试,尝试一下23发现有flag.
flag{1f9a4c19-c8ab-4319-923d-6febe6199368}
web入门181:和180一样,
web入门182:和180一样,
web入门183:
不过你可以改43到127为flag的穷举形式,我难得改了。
web入门184:
构造playload:tableName=ctfshow_user a join ctfshow_user b on if(b.id>23,if(a.id>23,if(ascii(substr(b.pass,1,1))>102,1,0),0),0)
取别名a,b然后发现and or被禁用了,但是我们可以用if语句达到相同的效果。
web入门18 ...
python的学习
列表:他长这样:list1=[‘google’,’facebook’,2,3] list2=[[23],”34”]
可拼接,可嵌套,可乘
list1+list2: [‘google’,facebook’,2,3,[23],”34]
list2[1][1]: 23
list1*2: [‘google’,facebook’,2,3,’google’,facebook’,2,3]
元组:他长这样:tup1=(‘google’,’facebook’,2,3) tup2=(1,2,3,4) tup=()(空元组)
不同于列表,元组的元素不能修改。元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:tup=(30) type(tup):<class ‘int’>
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
集合:集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。 ...
学习php
学习PHP我们先配置环境(好像我配置了好多东西了,但是搞不懂原理),这个下一个phpstudy_pro会更简单。可访问CSDN 进行学习配置。
推荐book:
一、php的标记风格xml风格标记 <?php php的代码 ?>(这个还要转义才能在md显示,唉)
推荐xml 风格的PHP标记,还有<script language=”php”> php代码 </script>
其他的需要配置。
二、PHP的注释单行注释 //
多行注释 /* ~~ */
#风格注释
注意:不要在单行注释中出现 ?>
三、PHP的数据类型标量数据类型:
boolean(布尔型) $boo=true;(true ,false)
string(字符串型) $a=’字符串’;
integer(整型) $a=1234556;
float(浮点型) $a=23.5;
复合数据类型:
array(数组) $array=array(‘value1’,’value2’,,,,);
$array[key]=’value’ ...
学习http
关于http的学习:
我看的是《图解http》
一、首先要对DNS,TCP/IP有一定的了解
然后是http与各种协议的关系
知道URL与URI的区别
二、HTTP的组成
HTTP有请求报文和响应报文
请求报文首部:由方法、URI、HTTP版本、HTTP首部字段组成
响应报文首部:由HTTP版本。状态码(数字和原因短句)、HTTP首部字段组成
三、状态码
1XX,接受的请求正在处理
2XX,成功
200 OK:正常处理
204 NO content:成功处理,但是返回的响应报文中不含实体的主体部分
206 partial content:客户端进行了范围请求,而服务器成功执行
3XX,重定向
301 Moved permanently:永久性重定向,所请求的资源已被分配了新的URI
302 found:资源临时性移动,保留302页面对应的URI
303 see other:所请求的资源存在另一个URI,应用GET
304 not modified:资源已找到,但是未符合条件请求
307 temporary redirect:和302差不多
4XX ...
sql注入の初见
sql注入の初见首先你要学会数据库的语法和特性。比如一个简单的表单,
在输入正确的账号和密码后,会进入另一个页面,我们可以使用一个特殊的用户“ ‘or 1=1– “ 我们就可以进入了,我们可以看一下代码
我们可以知道sql执行的语句是
1`select *from admin where username='' or 1=1--'and password=''`
可知返回的值恒为真 大于0,自然可以进入。
MySQL基本注入:1.判断注入类型,表单加上’ 在加 ‘and 1=1–+ 和 ’and 1=2–+ 看看
2.判断列数,用 order ,(为了下一步准备)
3.判断回显位置,用union select 1,2,3…..,列数具体看(2)。这个是一般由网页回显,不过要输入不存在的表单值
4.查看当前数据库名 ,将select database()插入会回显的位置,不过要输入不存在的表单值
5.查看数据库版本,将
1select version()
插入会回显的位置
6.列出数据库名,将
1select group_co ...
开始
想得到你想得到的,我建议fighting or sleeping这是我的第一个能在互联网访问的网站,构建网站的资源来自于知乎 及git ,nodejs