Skip to content

Commit 6a424c1

Browse files
author
arkadiyt
committed
Fix intigriti
1 parent 38c949a commit 6a424c1

File tree

4 files changed

+227
-79
lines changed

4 files changed

+227
-79
lines changed

lib/bounty-targets/intigriti.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
require 'json'
44
require 'ssrf_filter'
55
require 'uri'
6+
require 'nokogiri'
67

78
module BountyTargets
89
class Intigriti
@@ -49,10 +50,9 @@ def encode(component)
4950
end
5051

5152
def directory_index
52-
page = SsrfFilter.get(::URI.parse('https://www.intigriti.com/programs')).body
53-
tag = page.match(%r{/_next/static/([^/]+)/_buildManifest.js})[1]
54-
programs = ::JSON.parse(SsrfFilter.get(::URI.parse("https://www.intigriti.com/_next/data/#{tag}/en/programs.json")).body)
55-
programs['pageProps']['programs'].map do |program|
53+
page = ::Nokogiri::HTML(SsrfFilter.get(::URI.parse('https://www.intigriti.com/programs')).body)
54+
programs = JSON.parse(page.css('#__NEXT_DATA__').inner_text)['props']['pageProps']['programs']
55+
programs.map do |program|
5656
{
5757
id: program['programId'],
5858
name: program['name'],

spec/bounty-targets/intigriti_spec.rb

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,8 @@
88
end
99

1010
it 'fetches a list of programs' do
11-
programs = File.read('spec/fixtures/intigriti/programs.json')
12-
tag = '123'
11+
programs = File.read('spec/fixtures/intigriti/programs.html')
1312
stub_request(:get, %r{/programs}).with(headers: {host: 'www.intigriti.com'})
14-
.to_return(status: 200, body: "/_next/static/#{tag}/_buildManifest.js")
15-
stub_request(:get, %r{/_next/data/#{tag}/en/programs.json}).with(headers: {host: 'www.intigriti.com'})
1613
.to_return(status: 200, body: programs)
1714
expect(client.directory_index).to eq(
1815
[
@@ -22,20 +19,20 @@
2219
handle: 'doccle',
2320
id: '12715f4b-d10e-415f-a309-6ab042f6158a',
2421
status: 'open',
25-
tacRequired: true,
26-
twoFactorRequired: nil,
22+
tacRequired: false,
23+
twoFactorRequired: false,
2724
url: 'https://www.intigriti.com/programs/doccle/doccle/detail',
28-
max_bounty: {'currency' => 'EUR', 'value' => 2500},
25+
max_bounty: {'currency' => 'EUR', 'value' => 4000},
2926
min_bounty: {'currency' => 'EUR', 'value' => 0},
30-
name: 'Doccle'
27+
name: 'Doccle Bug Bounty program'
3128
},
3229
{
3330
company_handle: 'bpost',
34-
confidentiality_level: 'application',
31+
confidentiality_level: 'public',
3532
handle: 'e-tracker',
3633
id: 'a09e497e-fd75-4b56-afa0-7a6689389b76',
3734
tacRequired: false,
38-
twoFactorRequired: nil,
35+
twoFactorRequired: false,
3936
max_bounty: {'currency' => 'EUR', 'value' => 0},
4037
min_bounty: {'currency' => 'EUR', 'value' => 0},
4138
name: 'e-tracker',

spec/fixtures/intigriti/programs.html

Lines changed: 216 additions & 0 deletions
Large diffs are not rendered by default.

spec/fixtures/intigriti/programs.json

Lines changed: 0 additions & 65 deletions
This file was deleted.

0 commit comments

Comments
 (0)