Hello, everyone. I am Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. So today, we are going to start most interesting topic of Salesforce, that is lightning component development, right? So today, we'll be discussing a little bit about lightning or a component. So these this this particular week is basically dedicated for lightning or a component development and from next week onwards, we'll be focusing on lightning web components. So together, I can say like we'll be discussing about lightning component development for next one month. And all the sessions will be happening live.  And if you will be having any question, so you can ask those questions in the chat, right? So this is day 75. And today's topic is lightning or a component development. And I welcome you on my channel. And those who have joined for the first time, so I will be guiding them as well. So we'll be waiting for a couple of more minutes so that more folks can join. And till the time I just want to share one milestone that I achieved today morning. So I'm very happy to share that my channel Sanjay Gupta Tech School reached to 60k subscribers. So this is huge for me. And for the community as well, because I'm doing this everything for free of cost and all the recorded videos as well as live sessions are available for entire Salesforce community. And from last two to three years, I was creating recorded videos. But this year, I decided to come live and explain each and everything to the folks directly so that if they will be having any questions in their mind, so they can ask. And because of that, I was able to reach that milestone. So in fact, I achieved 5050k subscribers and like this month, I achieved 10k more and now channel is having 60k subscribers. So I just want to thank everybody, every subscriber, every viewer, those followed my channel and learning new things day by day. Right. And for those who are like for those who are joining this bootcamp for the first time, and if you don't know about the previous sessions, those happened live. So this is the entire bootcamp session tracker, where all the session related information is available. So if I go above so you can see we started from Salesforce admin concept and bootcamp actually started on 23rd of January. So it is like the beginning month of the year. And till now we completed reports and dashboard, data security, then more admin concepts, hands on project as their lightning flow component and apex. So complete apex along with triggers, then we gone through apex test classes, then asynchronous apex, then visual four sessions were there, then integration related sessions were there. And then we did development related project, then as a prerequisite last week and last to last week, we completed HTML, CSS and JavaScript. And this week we are going to learn about lightning or a component development, right? So this this this is all like this already happened for you. And now I'm going to do more and more sessions for you. So soon like development related stuff will be completed. And if I scroll it down, so you will see lightning web component sessions. And then you will be having deployment related sessions. So content will be available here soon. Then my friend who is already working in a company, so he will be explaining you all the QA related process because he's working as a QA analyst. And then I will be having someone who is a business analyst, then we'll be having lots of sessions related to different different clouds. So this whole year will be dedicated to different different tools or different different clouds which are available in Salesforce ecosystem. So I will try to share all the knowledge with you free of cost and everything will be available in this one session tracker, right? So this is about this thing. And those who have joined for the first time, if you don't know about me, so it is also important to know like with whom we are interacting, who is our instructor? So I am currently running Sanjay Gupta Tech School as a founder. I am instructing here and doing career coach. And soon I'm going to start virtual and offline limited seats boot camps as well, right? And there will be like different models for that. And soon that information will be available on my website. And for your information, I worked in Salesforce traction on demand a period. So these are big companies where I have worked and I gain a lot of experience. So in total, I have 16 plus years of experience. So I worked in education industry for 10 years as assistant, you can say as professor. So I taught lots of subjects there related to programming, then to learn new things, I jumped to IT industry. And I liked I liked Salesforce ecosystem. So right now, like I am having six plus years of IT industry experience as developer manager and trainer. And right now, I am helping students, freshers and professionals to ramp the career in Salesforce ecosystem. And at the bottom, you can see I have six certifications. So first I acquired the knowledge and then only I appeared for certification, right? So with this, whatever I have gained throughout this six years in IT industry, and from 10 years, whatever I learned like how to deliver the content. So I'm mixing that thing. And in front of you, I'm presenting whatever I have learned so far. So this is my favorite quote. And if you have seen my post on LinkedIn, so I just said the 60 K milestone I achieved because of consistency. So consistency is the key. And I can see lots of folks are learning Salesforce for one or two months and they are expecting like they will be having a job in their hand. So it is not so. At least you need to learn Salesforce for six months. Then only you will be having enough knowledge with you and it is minimum maximum it can go for one year. So if you prepare yourself this much, then only you will be having enough knowledge and you will be able to understand the things, right? So here I mentioned, please do regular practice. So those who are not aware. So I have created an exercise sheet as well. So if you open this link, which is available in this Excel sheet, so there will be an exercise sheet. So if you follow this, so here day by day exercises are available, right? So till Apex development, all the exercises are there. And for Aura and LWC, I will be creating a few exercises and will be mentioning here day by day. So those who are new and joined for the first time, so they can follow this exercise sheet as well, right? So if you need some discussion, you want to become part of Sanjay Gupta Tech School community. So you can scan this QR code and you can become the part. And we are in week 22. So this week, we will be focusing on Lightning Aura component development, right? And follow Sanjay Gupta Tech School on YouTube, LinkedIn, Instagram and Telegram. So a lot more I will be doing for the community. So this is just a beginning, a lot more technologies I will be covering. So if you follow this platform, I bet you won't be regretting. So please share a review or feedback as well, whatever you have learned so far. So I know lots of folks are doing this timely. So provide your reviews because feedback or reviews will keep me motivated and give me some suggestions as well so that I can improve. Okay, so with this beginning part, let's jump on to the Lightning component development, right? So moving forward, first of all, we need to understand what Lightning component is. So if I say, if you are working in Lightning experience, so before talking about Lightning experience, let me tell you, we have two experiences in Salesforce. One is Classic and one is Lightning. Classic is right now outdated, but it is still available. It is not deprecated. It is still available and lots of companies are using their existing projects in Classic only. And right now we are using Lightning experience. So anytime you can switch from Lightning to Classic or Classic to Lightning, right? So if you are working in Lightning experience, so for that Lightning experience, if you want to place something on the UI, so for that purpose, you need to implement Lightning components, right? So basically Lightning include Lightning component framework, right? So Lightning component, if you want to implement, so there are two frameworks available. One is Lightning Aura component and second one is Lightning WAP component, right? So this week, we'll be focusing on Lightning Aura component. So first, let me explain what is Lightning component. Then I will tell you about Lightning Aura component and we'll be discussing few folks say is like Aura is not used anymore. So is it a compulsory to use or learn Lightning Aura component? So I will be talking about that as well. Before that, if we go through second point, so one can build responsive application for any device. So if you are working in Lightning experience and you build Lightning component, so it is basically responsive. So the word responsive means if you are using your application or on desktop, tab or mobile phone, so automatically as per the device, if UI adjusts, so it is basically responsive behavior of that particular application. So with Lightning experience, we have that thing and all the Lightning components also follow that responsiveness. And one can develop components, those can be reused by other developers and admins for communities which are right now known as sites. You might have heard about experience cloud, so it is somewhere related to communities and sites. Then we have Lightning experience and then we have Salesforce mobile app. So if you create any Lightning component, so Lightning components are reusable components and you can place those reusable components on experience sites, Lightning experience and Salesforce mobile application, right? And if I talk about Lightning experience, so whenever we edit our page, so we see Lightning app builder, so through that Lightning app builder, you can simply drag and drop your component. And in today's session, I will be showing you how we can create a sample Lightning Aura component and how we can place that on Lightning experience. So we'll see that later in the session, right? So you need to know where we can place our Lightning component and practically we'll see soon. Then Lightning improves app performance because in Lightning, you might have seen pages basically divided into different components. So if I take you to the org, if I show you the org, so here you can see this is our Lightning experience. And here you can see we have different components. So here at top, you can see we have a highlight panel. Then at right hand side, we have activities, chatter. So these are two separate components. Then we have related list or separate component, which is available under a tab. Then we have details, which is having a separate component, right? So this way, page is basically divided into different, different pieces. So because we have different pieces, if there is any error in particular component, so that component won't be rendering rest of the pieces or rest of the components will be rendering properly. So that's why we can say lightning basically improves app performance. Then Lightning app builder empowers admins to build lightning pages visually without using codes. But you need to make lightning components available in the Lightning app builder. So basically, what happens whenever a developer implement any lightning component. So after implementation of that component, any admin can simply drag and drop that component anywhere on particular page wherever requirement is like as per the requirement, you can place that component anywhere on the page. So after implementation, that component can be used by anyone, right? So this is brief about lightning component. So basically to fulfill requirement of this lightning experience, we need to create lightning component. Okay, so we have three types of pages. We have home page. Here you can see we have home page. So on home page, you can see lots of components are available. So we have to today's events, we have assistant, right? And above you can see we have dashboard component, right? It's right inside. You can see we have a flow component. Then we have this recent activity component. Then we have this report, then we have this visual force, right? Lots of components are there. So in similar look and feel, if you want to place your lightning component, so that you need to build either with the help of aura or with the help of web, these two frameworks are available. So you can use any and look and feel will be same as per the lightning experience. So this is home page. Next we have like if I move to any object. So if I open any record, so this is basically known as record page, right? So we can place our component on record pages. And third is app page. So here you can see for visual force demo, like this is directly a tab. Yeah, so here, like in this application, we don't have any app page. But if you won't, if you have created a app page, and if you want to place your lightning component on app page, so that is also possible. So lightning basically provides three types of pages, app page, home page and record pages. Okay, so moving forward. And I can see Anna is asking or is definitely on the PD1 exam. Yes, Anna aura as well as this lightning web component both are for PD1. So if we talk about aura component programming model, so right now, whatever I discussed, it was related to lightning component, right now, whatever I am, I will be discussing it will be specifically to aura component, right? So this week, now onwards, whatever we will be discussing, it will be related to lightning aura component development, right? So here you can see some points are listed. These are basically features of lightning aura component. So before explaining these points, let me clear one thing. So basically, if you talk about lightning aura component, so in like community, you will hear lightning aura is outdated, and we need to work on lightning web component. So this is true, right now, whatever development is happening, it is happening in lightning web component. But lightning aura component model is not deprecated as of now, it is still available. So somewhere if you're working on a project, and few components are already built in aura. So in that case, you should know how basically that component model works, how many files are there, how we write the code. So to fulfill, to accomplish that requirement, what I'm doing for this week, I will be doing three to four sessions so that you can understand how basically we write code in aura component. And if you're good with aura component programming model, then you can simply learn lightning web component. So this way, you will be familiar with both the component model. And anytime if you need to migrate aura component into lightning web component, so it will be easy for you because you already know how we write code in aura component. So with this note, let's see how many advantages or you can say features are available here. So total six points are listed here which are features. So out of the box component, so you will be having ready made component that you can use directly, right? So here we'll be using HTML code and along with HTML code, Salesforce specific code will be available that we'll be using. Then we have even driven architecture.  So we discussed about events while discussing JavaScript. So for example, if there is a button, if you click on a button and if you want to perform any operation. So basically, if you click on a button, so an event is generated. And whenever that event is generated, so in the back end, you might be needing some function which will be executing and some operations will be performed and the result will be available on the UI. So this is basically known as even driven programming or even driven architecture. So in aura component model, we have even driven architecture, right? So in aura, even driven architecture basically works between more than one components. So if you have more than one components and if you want to interact between these components, so we can use even driven architecture. Then or is a framework optimized for performance, it is having rich component ecosystem, fast development and device aware and cross browser compatibility. So these are straightforward. So whenever you appear for any interview, so you need to tell briefly about like what it is. So for that purpose, you can just remember these features. Right now, if we talk about more on aura components, so these are self contained and reusable units. So why reusable? Because if you have created any component, so you can use that component into any other component. So we can have parent child relationships, right? So that way you can reuse your component into another. Then framework includes a set of prebuilt components. So some prebuilt components are also available. Then components that come with lightning design systems styling are available in lightning namespace. So basically in Salesforce, or you can say in lightning component development, we can use lightning design system styling. So LDS is basically having some prebuilt designing, right? So you can relate it with CSS. So lightning design system is basically prebuilt and lots of designs are available already. So that we can use directly with our lightning component. Then you can combine or configure components to form new component in app. Then a component can contain other components as well as HTML, CSS, JavaScript or any other web enabled code. So this is about aura component. So few things are straightforward. Few things might be confusing because you have not used as of now. Or if you have used so it might be a recall for you. Okay, so moving forward, now we need to compare lightning component with visual force pages, right? So initially I told you we have two experiences, classic and lightning. So if we talk about classic, so in classic, for any UI implementation, we use to use visual force pages. If we talk about lightning component, so in lightning component, we use aura and LWC, right? These two frameworks are available. So if we compare, so in lightning client side UI generation, so in lightning, we use JavaScript. So JavaScript is basically client side scripting language. So whenever your page renders on the browser, and if it is having a component in it, so that component will be rendering whole front end related code on the browser. And it includes JavaScript code as well. So if you perform any operation, so that operation actually performs on the client machine itself with the help of JavaScript, that is not true with visual force, because in visual force, all the business logic resides on server. So whenever you click on a button, so automatically request sends to server and server processes that request and send response back to the client machine. So this because of this, like request response time increases, if you are using visual force pages, but in case of lightning, it is like less because of JavaScript. Then in lightning, we have API centric models. So lots of pre built APIs are available that you can use. But in visual force, we mainly focus on page centric model. Then lightning provides component based framework. So we have different, different components. So in a page, you can place components anywhere as per the requirement. And visual force basically focus on MVC framework. MVC is basically model view controller. So here, like model is your data. Or you can say database view is your UI and controller is your business logic. So with the help of these three things, like data view means UI and controller controller is your apex, like visual force page, along with apex, if you if you want to interact with your S objects, right? So that kind of model we have in visual force. So if you have gone through the recordings or live sessions of visual force, so you might understand like how we can implement visual force along with apex and how we can interact with a database, right? So in, you just need to remember about lightning because we we rarely use visual force because many projects like most mostly projects nowadays are implemented in lightning experience only. Then in lightning, we have JavaScript framework, whereas in visual force, we don't have JavaScript, we need to write different tags to implement the code. And lightning is designed for lightning experience and Salesforce mobile app, whereas visual force is designed for Salesforce classic. So this is the difference in any interview if someone asked the differences. So with the help of this table, you will be able to explain those. Yeah, so visual force, lightning aura and lightning web component, all are part of PD-1 exam curriculum, right? So for that, anyhow, you need to learn these concepts. So if you talk about lightning component and aura, so lightning component is basically built on top of aura. And in lightning component, you can use Salesforce specific extension. So basically, when this framework launched, so it is it was basically known as lightning component. If we say lightning component, it means lightning or a component. But nowadays, we have lightning web component as well. So that's why lightning component is a little bit confusing. So we can say lightning or a component. So that that is also correct. And aura is like on below lightning component. So with the help of aura framework, we basically implement lightning component, right? So aura is basically open source framework. You can think it as a WebKit and Safari and Chrome, right? So in Safari and Chrome, we have a WebKit as a framework and on top of that, they are implemented or built. And we have enterprise ready and tested codes. And some prebuilt functionalities are available that you can use directly, right? So we are using aura framework on top of that, like we are writing some Salesforce specific things. And together we can say like we are building a lightning component. Okay, so now let's deep dive a little bit more. So whenever you implement any lightning component, so you will see these many files there. So now you can see with this image, we have divided lightning component bundle into two parts. On the left hand side, we have client. On the right hand side, we have server, right? So on client side, we have these much files, total eight files will be there. And on right hand side, we have a picks controller and database. So if you want to interact with your database, database means your s objects, it can be custom or standard. So if you want to push or pull data from your database or s object, so for that, you will be writing a picks controller and both resides on server and rest of the things will be available on client whenever your component will be loaded or your pace renders on the browser. So these are total eight files which we use for different different purposes, right? So initially we will be using this middle file that is component or like in lightning aura, we will be using lightning component as well as lightning application. So if you're creating lightning components, so you will be having lightning component as a file. If you're creating a lightning application, so you will be having lightning application as a file. And then we'll be having two JavaScript files controller helper, then we'll be having CSS file separately render design SVGN documentation, right? So now let's quickly jump on to the next slide where all the details are listed. So I'm just hiding myself for few minutes so that you can go through with this slide. So just go through with this slide and I'm going to see a few of comments so that I can answer those till the time I'm expecting you are going through the table and trying to understand the uses of each resource. These resources are basically files which are part of lightning or a component. And I want to thank Anna for sharing some dollars. So we'll be buying coffee for sure this weekend. So Lakshmi is asking about Microsoft 360 dynamics. So right now there is no plan on that because I'm focusing on Salesforce, cybersecurity, data and AI and DevOps. So right now these five technologies are on my radar. So juggle this LWR, I will be explaining later when we'll be discussing about LWC, then we'll be picking this thing. So moving for that like we can do mock interview sessions. So I will try to create some mock interview sessions live so that I can give you some insight like if there are questions related to real-time projects so how you will be able to answer them. So what I will do, I will become a candidate and I will be having someone along with me who will be becoming interviewer and he will be asking, he or she will be asking questions and I will try to answer the questions in such a way so that I'm applying for a job and will be explaining things like how I worked upon real-time projects. So Madhusudan, we don't use JavaScript in a visual force. That's why the server side, if we use JavaScript, so JavaScript is basically client-side scripting language which can execute on client machine as well. So Rushi case, I'm not sure about this. So as of now LWC and Aura both are available so you can learn both the things. So I hope everybody gone through with this table and like few things you are able to understand like UI related things we'll be writing on top component or application, then styling whatever CSS we have learned so far and few more things we'll be writing in the style file. Then we have controller where we'll be writing JavaScript code. You can see the extension of this file. It is .js. So everything whatever you want to write related to JavaScript you need to write in controller. Design is basically used like if you place any component on a page and through that page if you want to provide some input to the lightning component. So for that purpose we'll be using design file. Then we have helper.js. It is basically supporting file for controller. So if you remember we discussed trigger. So in trigger we have handler. So similarly in controller along with controller we have helper. So anytime if you see like controller code is becoming heavy it is too complicated. So what you can see what you can do you can just split your controller and you can push few code or few functions in the helper and through helper you can simply call those method or functions in the controller. Then we have documentation file then we have renderer file. Renderer file is basically for overriding default rendering of the component and then we have SPG file. So if you want to place custom icon resources so for that we'll be using. So we have total eight files but if we go to lightning web component so lightning web component implementation is or lightning web component bundle is very easy. So there we have limited files one HTML one JavaScript one CSS that's it right here we have lots of file but anyhow if files are available we need to understand their functioning as well. Okay so now we are going to create a lightning aura component right. So I will show you how we can create lightning aura component and we'll show you the difference between lightning aura component as well as lightning application. So basically a component is a bundle that includes a definition resource written in markup and may include additional optional resources like a controller style sheet and on and so on right. So now I'm going to create a lightning component for you. So we have two options to create lightning aura component one is this developer console and another is your visual studio code VS code. So aura component we'll be creating through this developer console and next week when we'll be starting lightning web component so that we'll be implementing with the help of VS code. So here if you click on file new so you will see this option lightning component. So everywhere you will see lightning component you won't see lightning aura component because the time when a lightning component launched so there were no idea like Salesforce will be launching lightning web component so that's why it was simply lightning component. So you just need to click on lightning component and here you will be writing name of the component so so let me put a name first LC lightning component right and here you can see lots of checkboxes are available. So these are very simple if you want to create a bundle with any of the following configuration. So we have lightning tab lightning page lightning record page lightning builder site page lightning quick action. So what does it mean if you are creating a lightning component and if you want to use that lightning component on any of these places like if you want to place your lightning component on a tab on a lightning page or record page or experience builder site or quick action so you need to enable these checkboxes. Right so these are checkboxes so if you want to check more than one checkbox is so it is possible right so right now I am enabling all the checkboxes and clicking on submit. So as I clicked on all the checkboxes so here you will see lots of interfaces are implemented so I am just separating them out basis on the comma right. So here you can see app hostable available for all page type available for record home has record id available for all page types for community then lightning quick action. So if you enable all the checkboxes it means now this lightning component you can place on different different places. Okay so I hope you all understood how we can create a lightning component now if you see on the right hand side here all these eight files are available which we discussed earlier if I take you back so these are total eight files with the diagram also you can see we have total eight files and those eight files are available here and right now we are on component file by default so here you will be writing all the code which will be rendering on the UI or you can see on the browser and all the UI in Salesforce basically renders on the browser so that's fine whenever you implement any lightning component so its result you will be able to view on the UI only. So here I am writing in a simple html code that is heading so I am writing my first lightning component right so this is a simple example that's why I am just using this h1 element it is purely html but we have Salesforce specific elements or components as well that we can use here so that I will be using later on so I am just saving this component right now if we have created any component and you want to test it how it will be working so for that purpose what you need to do you just need to implement a lightning aura application so an app is just a spatial kind of component you can think of an app as being different from a component in only two meaningful ways so it is similar to component but it is different as well so in component basically we use aura colon component so if we see here we are using lightning component but if we are creating lightning application so we'll be using lightening sorry aura colon application and in application we'll be having a preview button we'll be having a preview button in the developer console right so now I am going to show you how we can create lightning application so here is a button lightning application you just need to click on this button and your lightning application will be created okay now what you need to remember lightning component is having actual functionality with the help of lightning application you can preview how your lightning component will look like on the ui so lightning application we'll be using for testing purpose only if you want to place your lightning component on lightning experience in real time so that also I will be demoing you okay so before that I'm going to create a lightning application I'm naming it as demo app because for lots of example we'll be using this application and clicked on submit it so here you can see we have this description file so you can just close it out for component also you have this description file so you can close it out now here you just need to use c colon first lc and then you can close it so I hope those who are from non-technical background and those who have gone through html css in javascript related sessions those I conducted last week and last to last week so for them understanding this these things are very easy like what it is how I why I am using this one then in application also I'm using this element so you can easily understand like we need to start stop so in html we use html body head these tags but here we are using aura component we are using aura application then if you want to use components so this way you need to write and here this c is basically namespace so namespace basically this is a default namespace and all your component that you are creating they stores under this default namespace so anytime if you want to use your component in any application so you need to use this namespace also right so I just save this component I am saving application as well now what I need to do at right hand side you can see I have a preview button if I go to component so here I don't have any preview button but if I go to lightning application so I have a preview button right and if I click on this preview button so component will be rendering on the UI and here you can see it is showing the result as my first lightning component but one thing this output is basically not as per the lightning experience look and feel so for that what you need to do you need to extend force colon slds if you write this so here you will see now this output is actually following lightning experience look and feel okay so it's color changed so if you implement this then only you will be experiencing this so whatever I am demoing you need to implement it in your system so that you can practice right so this way simply I just created a component and used it in an application right now how we can create multiple or a component so first I'm going to show you how we can handle more than one components then I will show you how we can place a component on different different places so I'm creating one more component and naming it as second lightning component and this time I'm not enabling any of the checkbox so I'm knowingly uncheck the unchecking these checkboxes leaving it as is so that in future I can show you like a first LC first lightning component will be available to place on particular place but second lightning component won't be available to place because I am leaving these checkboxes unchecked so I'm clicking on submit so the second lightning component is created and here you can see nothing is available in first lightning component we had these interfaces but in second lightning component nothing is available and here also I am creating one heading and writing my second lightning component so this way two components are available now if you want to show these together so here you can write like this okay so in an application you can place more than one lightning components so I'm just saving this code moving here so you can see both the outputs are available my first lightning component my second lightning component okay so this way two individual components I was able to use in an application now if you want to do nesting so that is also possible so I'm removing this from here and placing it here so what I just did I called the second component in first component instead of demo application so in demo application I'm calling first lightning component only but first lightning component is having second component as child so here first component will be treated as parent component and second lightning component will be treated as child okay now result will be same if I refresh no change will be there if you want to see the change so what I'm going to do I'm just cutting it and putting above so what will happen first second component result will be displayed and then our first component so moving here refreshing the page you can see the result it is showing my second lightning component and then my first lightning component okay so this way if you want to do nesting of lightning component so that is also possible so right now I am removing it from here and right now both are disconnected first component is separate second component is separate because now what I'm going to do I'm going to show you how we can place our component on home page record page or app page so I will be demoing one thing like home page rest of the things you will be doing at your own because home page record page app page if you want to edit these pages so it is very easy to edit and place the components there and the steps are same so if I go to home page now at top right corner you can see we have a gear icon so what you need to do you need to click on this gear icon and at bottom you will find edit page so just click on that yeah so Anna you are asking difference between implements and extends so basically in object oriented programming there are two features one is interface and one is inheritance so basically what happened here these are interfaces which we are implementing right and here in this application like if you inherit some properties so for that you need to write extends so in simple words I can say interface you implement and if you have any class that basically we inherit or you can say we extend okay so we are just extending the features and here we are implementing these features okay and if you want to learn these in detail so you just need to understand object oriented programming concepts for that okay so I was doing this thing so I just edited my home page so we are under lightning app builder so here you can see lots of components are already available here are visual force pages also there now you might be wondering from where we'll be pulling our lightning components so if you see on left hand side we have standard components total number 32 if I scroll down so I have this custom section as well okay so this custom section is basically having first lightning component I already told you second lightning component won't be available here because I didn't check those checkboxes five checkboxes right so here first lightning component is available I can just drag and drop it and this way you can see it is available if I click on save so it is saved now if I go back so here this message is available right if you see this my first lightning component is available right now it is not having any white background so we can do that as well if you want to have a white background so that is also possible okay so later on in more scenarios we'll be doing that okay so this way I demoed you how we can place it on home page so similarly what you can do you can just edit your record page and you can place your component on record page you can edit your app page if you have created and after editing that app page you can place any component on that app page and remember all your component like I'm editing it one more time all your lightning aura components or lightning web components will be available under this custom section right so on the left hand side this section is available and below that we have custom managed so managed means if you have installed any package from app exchange and it is managed by any organization so all those components will be available here under this yes exactly first only components will be available application that we created you won't be able to place it anywhere because that application we created for testing our components only so if you don't want to test your components through application so what you can do you can create your component and you can directly test your component by placing it on home page record page or app page anywhere so application creation is an is an optional activity it is not mandatory great so I hope this way you are able to understand this and those who are new to this these things and you have not gone through all the recorded videos as well so you just need to practice everything because these are important things and front end development is very much important if you are applying for a job as a developer so along with apex you need to understand lightning aura as well as lightning web components now next is launch lightning aura component through quick action so we create actions under particular object so if I open any record and here if you want to place a button on top right corner on top right corner if you want to place a button right and if you click on that button and you want to see your lightning component so you can just launch that as well right so now I'm going to show you that so for that you just need to open the setup and under setup I will be searching for object manager then here I'm going to open position of object so you can pick any object then click on button links and actions then click on new action on top right corner if you click on this new action so from here you will be able to link your lightning component with your action so here you will see this option lightning component and we have lightning web component as well so click on lightning component then here only first lightning component is available because for second lightning component we didn't enable those check boxes I am labeling it as demo LC you can label it as per the business requirement and click on save okay after creation of this go back to object manager search for position object then go to page layout open so I need to check which page layout it is so it is basically technical position layout so I'm going to place that button on technical position page layout okay so here you need to click on this override the predefined actions and here you need to click on mobile and lightning actions here you will find demo LC just drag and drop so this way it is added to your page layout click on save now if you come here and refresh the page so your lightning component will be available here you can see demo LC is a button which is available here and I think Salesforce upgraded this look and feel also earlier these black border lines were not available so these are available so if you click on this so you can see here is the output demo lightning component it is showing the text which is available in the component and if you click on cancel it will disappear okay so this way you will be able to place your lightning component on reaction so this is it for today I hope you understood all the basics related to lightning component lightning or a component how we can create lightning component and application how to place component on different places now if you have any questions so I'm happy to take your questions so I'm going to open the chat so that I can take all the questions okay so there is one question so Faisal Salesforce manual testing series will be there I need to think about automation then Srivali is asking once we forgot to check any of those bundles again do we have options to select so no we don't have options to select but what you can do in your like in your any other component if you have this this code so you can simply copy and paste it but you won't be able to check those checkboxes so Madhu Mohan if you are having two years of experience so I would say you can learn sales cloud service cloud and any industry specific cloud because industry specific clouds are more popular nowadays and along with that you can go with Omni studio so on my channel we'll be having Omni studio sessions as well so after LWC we'll be having deployment then QABA and then we'll be having Omni studio related sessions yeah so Madhu Mohan I will be giving some exercises so maybe tomorrow I will prepare and put in the document so first I think I already answered your question Anna for you also and you need to understand object oriented features so that you can understand the difference between implements and extents yeah so Vinay this is what I explained to Anna but I think whenever she will be able to implement these practically then only she'll be able to understand so interface I think we implemented in Ascent Ronas Apex but inheritance like we rarely use but in Lightning Web component we'll be using inheritance as well yes Madhu Mohan if you go through the entire bootcamp so I think it will be enough for like you can say if you have all things in your mind so you are equivalent to two years of experience folks but the difference will be like if you work in the industry so you work on real-time projects but here that is missing that is the only thing missing but rest of the knowledge wise everything is there so Pankash Sharma it is not necessary to learn Aura but nice to have yes for us we can import libraries and with LWC as well we can import few so we'll see that yes Anna health cloud is popular nice and education cloud is also popular non-profit is also popular so all the industry related clouds are popular so Ganesh project PDF I cannot share you just need to go through the recordings thank you Vijay for appreciating my efforts it is kind of motivation as of now because I am doing a lot and today I delivered 75th session so now I need to deliver 25 more so total 100 sessions will be there and I think no one in entire sales force ecosystem have done ever before so this is also huge for me so like I feel good I am doing so much for the community and giving you a platform giving you a schedule to learn things on weekly basis so that is important because if you have a proper plan schedule so it is easy for you to understand so I saw lots of folks were struggling like how we can start what is the roadmap to learn sales force so for that purpose only I created this session tracker and you can see lots of folks like whenever I am sleeping I am not doing anything still I can see lots of folks are online and like they are utilizing whatever is available in this session tracker so I think those who are new those who are from non-technical background those who are freshers they don't know the right track to learn the sales force so I think this session tracker will be helpful for them and everything is free of course nothing you need to pay everything is properly designed explained all the exercises are available so I think if if you as a beginner go through with this you will be having all the knowledge so Shubham this week let's understand Aura next week when I will be explaining LWC then I will be comparing Aura and LWC right it would it would be better to compare at that time because at that time you will be having knowledge of both yes Anna if you want to pass PD1 so you need to learn Aura as well as LWC visual force as well so on trailhead you can go through its trail mix where you can find all the course curriculum and I think Aura LWC is there so when I you can search it on trailhead I'm not having much knowledge about this yeah okay industry cloud I think Vinay is also asking about industry cloud so for that what I would say just open salesforce.com so those who are not aware about industry clouds so just open salesforce.com and on top you can see industries so these are industry clouds right if you go to products so here you will see sales service marketing and industry is one of them so if you see all the all product pricing so here you will see industries as one of the element and if you click on industry so you will see all the industry specific clouds these all are salesforce products and industry is one of them if you click on industries so then you will see all the industry related clouds so financial services cloud health cloud consumer goods manufacturing public sector solutions so these are industries clouds okay okay so thank you punkers thank you Lakshmi so this is all from my side for today and tomorrow we'll be having few more topics related to lighting Aura components so those will be a little bit complicated so I will try to explain those so that you can understand okay so if you have any more question you can ask otherwise thank you so much and please share a review or feedback on youtube linkedin telegram wherever you want and share the knowledge share the words with other people as well so that instead of paying huge amount they can save their money and they can learn entire salesforce without any problem or issues this is it for today thank you so much if you don't have any question so I take your leave thank you so much see you tomorrow same time till then bye


Wonderful, very nice. This exuberant expression of samskriti in the next few years, we will take it across the world. I want you to be at your best, not as performers, but as an offering. As a way to touch and transform lives, lives that live just on the surface to make them into more profound happenings, because that's all there is. Everything else that people value in terms of comforts, wealth, name, fame, they're all just cooked up in our minds. Only real thing is that we touch the deepest dimensions of life within ourselves and in some way facilitate the same for everybody else. What you're doing right now has the power to do that. We must always keep that in mind that this is not entertainment, this is a profound art and science at the same time. If you fall into place as you're falling right now, it will do tremendous things to people. Thank you.


This morning, Mississippi Power is putting together a storm team made up of line crew, engineer and support personnel all across our service territory. We'll be departing this morning going to Georgia to assist our brothers and sisters there in Georgia following Hurricane Idlea. Our main goal today is to arrive safely and to be there and to be prepared to work following the storm. Lastly, this marks the 18th anniversary of Hurricane Katrina, so we don't want it to be lost on us that we know what it's like to be impacted by storms, but we want our customers to know that we're going to be there to support them following the storm.


So just by a quick show of hands, who here have seen the Too Many Cooks video? We've got like yeah, that's a good enough percentage for now. So we're just gonna hit it off So, for those of you who have no idea what you just saw Too Many Cooks is a TV skit that went viral a few months ago and We liked it. You should watch it if you haven't So if you've seen it, you can enjoy some references throughout this presentation So if you haven't then you can just laugh at the funny pictures Okay, so Who are we so we're the malware and vulnerability research group a checkpoint What do we do here? We have this marketing slogan That says we secured the internet and we actually try to do that by finding problems Telling the vendors and sharing them with the community, which is exactly what we're trying to do here So let's talk about what's in store for today We're gonna very quickly go through what TR 69 is And explain a little of what we talked about last DEF CON Which will lead us to the motivation behind the research that we're presenting today. We'll talk about that The TR 69 census 2014 Will give you the interesting bits of our research story and some technical details then we'll continue to show what can only be described as mass ponage and Then conclude talking about why this won't go away so quickly So TR 69 TR is actually like an RFC right TR stands for technical report and this is technical report number 69 and this defines the CPE when management protocol which is the CPE is a consumer premises equipment that would be the home riders that you have at home and This was you know, this was released in 2004 by the broadband forum Which is a group of companies working to define broadband standards? And then there were a few amendments so far, but still remember that this was released just 10 years ago And this is what ISPs use to provision your devices is what's called the zero touch configuration it's used to monitor your device for faults or malicious activity and Configure anything they want in your home riders including getting your MAC addresses and host names for anything on your network Creating additional Wi-Fi networks and go as far as deploying new firmware So this is how TR 69 sessions or Provisioning sessions look like so on the right side. We have the CPE right that the consumer premises equipment the TR 69 client That would be your home router on the left side We have the TR 69 server which is called an ACS or an auto configuration server And they talk in basic soap RPC, which is X XML over HTTP And it's important to mention that the client always initiates the the connection Which is a single TCP connection over which RPCs are called back and forth so the client begins with with an inform telling the server why this session was initiated and The ACS follows with provisioning functions such as get parameter values and set parameter values It's it's it's pretty simple when you think about it So there is a dual authentication mechanism that the CPE should make sure that stock into a verified ACS and the ACS Should only accept sessions from authenticated CPEs and now there's there's a slight thing called a connection request The DICS can issue and we'll talk about that So talking about a fighting so far we presented this at DEF CON 22 Our research uncovered implementation and configuration flaws in many ISPs ACS deployments so ACSs are a single point of ponage in modern ISP infrastructure And many TR 69 implementations just aren't serious enough We found vulnerabilities in several products and that leads to ISP fleet takeover Exactly So you remember that connection request thing And this is straight from TR 69 specification so the ACS can at any time Request that the CPE initiate a connection to the ACS Using the the connection request notification mechanism support for this mechanism is required in a CPE Right so straight from the specification In fact every TR 69 client in the world is also a connection request server On which port you ask and as it turns out IANA assigned 7547 for all TR 69 uses and Including the connection request board and this is a widely used default and Let's talk at some let's look on some very interesting research released last year From this the Z map guys, which is a Zachard Rumerich and his friends from University of Michigan And he's talking like in a couple hours And they actually scanned 2 million random addresses on every port up to almost 10,000 and They found that CWMP or the TR 69 default port is in fact the the second most popular Open port in the world with 1.12% of the internet listening on that port So again, this is for a protocol that was invented 10 years ago. So think about that And you know, how many how many devices are 1.12% you know out of the public internet This is around 45 million devices estimated that should listen on 7547, you know from a vulnerability research perspective This is and no matter how hard we looked no one is talking about this service and there has to be something there So let's review the top two open ports in the world So previous research has given us this image. So in 480 there are on 70 million devices About 50% of which are web servers, you know, it's regular web servers with a patch you're leading the bunch You got your engine X your IIS and then a small percentage for the rest Including I know lightspeed and the Google dedicated servers and the other 50% are Simply those internet of things devices, right? Most of them are routers. You got your webcams You got your voice over IP phones and of course, let's not forget about all the IPv4 enabled toasters out there So by the way people start understanding that leaving these things open to the when is dangerous Luckily, we're seeing more and more devices updated to have port 80 access on the land only Now remember that not only there is diversity in the server software It's also being used for different uses serving. I mean serving websites all sorts of cloud services and then management interfaces for each device You know, it's a messy landscape But looking at port 7547, you know, we have an estimated 45 million devices and These are all internet of things devices, you know listening on their connection request fort There's nothing else there. It's just Devices waiting for connection requests, you know, so this landscape is much clearer and and and remember we're looking for security issues here And we're looking to find, you know significant numbers affected so as a first as a first step we needed to stop guessing and estimated and estimating so we conducted the TR 69 census 2014 and You know, we scanned 7547 on the entire IPv4 address base And we did this last month a few times actually with the with the gracious help of some good friends over at rapid seven and University of Michigan who contributed contributed to this research. So thanks guys And the results are 1.18% of the public internet responds on port 7547 So we actually communicated with 46 million ninety three thousand and seven hundred and thirty three devices Who answered our benign requests for get slash? So these are all over the world and and it's not just, you know, one country who accidentally left this port open That's a hundred eighty nine countries Which makes sense when you remember, you know, it's a protocol Requirement to leave this port open for the ACS And and just a small note note that the the point zero six percent increase from last year is Actually two point two million devices added in a year, which is you know showing us a nice trend and numbers are still on the rise So we're set on finding an issue with TR 69 client-side implementations And the natural thing to do at this point is look at what implementations we're seeing out there So we categorize the responses and sum up the numbers and we get this So we have five main connection request servers out there, but it's very clear that this thing called rom pager, you know is leading the pack and I think that means that we got ourselves a target So what is rom pager? It's an embedded HTTP server by Allegro software. It's the Massachusetts Bates based company It's optimized for minimal environments. It's a small binary small memory requirements. It was first introduced in 1996 And you know, just there's been many versions since the conversion is 5.4 But then you know now that we decided that we're going after this from pager We need to see what versions are out there and this will help us focus our efforts so we run the short script again and You know, we actually see just four different rompages our rompager versions out there You know when you'd expect this sort of a normal distribution of this versions in the wild and and instead we get this so so 98 point zero four percent of the Identified devices are version 4.07 Which is a pretty old version too. So, you know This is where I grew suspicious, right? I mean What can explain this incredible popularity of a single version? You know, it could be like a batch of all devices at a single-eyed spear or something Which is we just don't know it yet and this really picks our interest. So we have to find out So we went ahead and we bought a new a new TP link router and we we unboxed it We plug it in we connected to our network, you know, and It's running rompager 407 So it's all you know, you know, maybe this is an old version of the device You know, it's gonna it has such like an old version of rompager So we downloaded the latest firmware from the TP link website, you know, we flash it We reboot and it's still rompager 407 So, I mean What? You know at this point We start understanding the popularity of the four points. I mean the 407 version I mean, we have no idea why it's there yet But but if it's somehow embedded into brand new devices off the shelf, you know with the most recent firmware Then that can certainly explain, you know, why we're seeing so many of them But let's try something here Does anyone in the audience happen to have an unopened brand new router? Anyone?  Thank you Thank you very much. Oh, wow. I Thank you kind stranger I'd you're very nice. You don't work for me at all. So I'm I'm going to I'm going to do something with that later Okay, so, you know, we dive into this a rompager 407 and this this was released 2002 So, you know, it seems to run a whole bunch of devices and You know, we return to our scan data and we start counting and so we have 2.2 million devices Serving rompager 07 on port 80 and 11.3 million devices on port 7547 and You know, suddenly we're like You know, wait, there are 12 million devices out there with this very specific version You know of a web server that was released in 2002 listening on the wan I mean, yes, this is like this is the perfect vulnerability research candidate And you know zooming out for a moment This is to the best of our knowledge the most popular Specific version of any network application service currently available online on the public Internet You know, this specific version is deployed on 200 different devices from 50 different brands You know, we are going to do whatever it takes to poem rompage rompager 407 let me hand let me hand it over to Lior Okay, oh So hi, my name is Lior and I will walk you through the process of how I analyze the Rompager is fumer and some interesting results. I found on the way So at the beginning I only have the fumer file Itself which was downloaded from the vendor website in our case. It was tippling On first glance the fumer file is looking like a big blob of compressed data And as any rookie fumer analyst knows the first the first thing you need to do is to be in walk Be lucky or framework be what is this great tool developed by DevToyS0 Which recognize and unpex most of the common fumer files So luckily for us a been work easily recognized and extracted for files So we have the bootloader. We have the vendor logo in the gif images and the main binary So after I got the first fumer, I decided to download some more fumer Which contained rompager a 407 so I downloaded some more and some more and some more and I see that each and every one of Them had the same Zina West header and also the same architecture, which was MIPS So while this rompager 407 looks so similar at this point. I have no idea whatsoever So one may might ask himself. What is this Zina West we are seeing in all the fumer? So Zina West is an embedded OS created by Zixxer, which is a major Taiwanese DSL vendor Zina West is an RTOS a real-time OS Which means it's a very basic operating system without any file system or permissions mechanism Just one big binary file responsible for everything When you Google apps in OS, you also see that Zina West is very notoriously known for the ROM zero vulnerability discovered last year which allow an attacker to get the router credentials by downloading the entire the entire Sorry by downloading the entire configuration file from the router without any authorization all it takes for the web panel to be open in port 80 and and attackers just simply gain the password and new and the username and 1.2 million devices were affected by this vulnerability. This is a lot So before we start analyzing the fumer itself, let's see what our attack surface look like So in port 80 We are getting an unauthorized response which has us to for the credential and since we don't know them We are getting this instead In port 7547 we are getting object not found for any path except for the correct connection request path For now, we assume that we do not know the correct path So before I actually started dive into the code I did some basic fuzzing over the HTTP headers Suddenly I managed to crash the router by sending a digest username by overflowing the digest username header Which lead me to the first vulnerability So to understand why this is happening, let's explore some of rompager code when you see What you see here is a function responsible for initializing the HTTP handler structure Each entry consists of the HTTP header name as you can see here and the relevant handler function to parse this header So let's take a look on the function that parsed the digest username. So can you see what caused the vulnerability? Yes, and unprotected the strcpy But what actually caused the router to crash? Because we have no symbol and no dynamic analysis capability whatsoever. It's very difficult to know So because we I had no dynamic analysis capabilities I start I open up the router and start looking for JTAG So for those of you who don't know JTAG is this interface Designed to do harder hardware verification and debugging for embedded devices So I open up the router, but I couldn't find any JTAG connectors But I did found something that looked like a serial port a you are port so I did some soldering and they connected the connected to the router itself and use Baspirate, which is a USB serial to USB Adapter to connect it to my computer and when I boot up when I boot up the router I could see some very nice debugging info. So it was very cool But what happens when I try to crash the router? So This is what I got a very nice looking crash dump with you see here The MIPS registers and the stack dump and also on the top you can see this one This is the EPC which is the MIPS instruction pointer as you can see here It was overwritten with my inputs that this is mean this means that we actually in control of the instruction pointer Yeah, so a some further analysis of the crash dump allowed me to fully understand the vernal ability So the strcpy causes to override a function pointer, which conveniently lays 584 hexabyte before after the username. So exploiting this is pretty simple. Just send large username Overwrite the function pointer with a pointer to your shellcode and You can run remote code and you have a remote code execution. So it sounds way too easy any problems So, yeah, we have a slight problem although although all the vulnerable a fumer fumer arzina West base each one is looked a bit different in terms of a memory layout and It even changes between different fumer version of the same model This means we cannot We cannot know the correct position of our shellcode in the memory and therefore we don't know with which value We need to overwrite the function pointer And Of course if you knew the a sorry, of course if you knew the exact memory layout of your victim You can easily a run code on these routers without without any problem It's also important to know that Once an attacker an attacker has only one chance to attack a router because if it causes a crash Then the router gets a new IP because of the dynamic IP allocation So a potential solution for this whole problem would be just to find a some infallible now ability that would disclose the memory layout But it seemed like way too much work for now. So let's just let's keep looking for something else So because I had no f debugging I had to use some very primitive debugging capabilities that were built into run pager Into the bootloader loader through the serial port which allowed me to patch the firmware Before it was being loaded. So it was very handy, but very tedious process So after way too many hard resets I found that there is a hidden tenant command in ZinOS which lets you patch the router memory online So this led to the creation of Zordon, which is a ZinOS remote debugger offered net and With Zordon you can set breakpoints view and edit memory and also read and write register value online This made the dynamic analysis a way more convenient So using my brand new debugger I was able to understand much better than nuts and bolts of a run page Oh, which eventually eventually led me to the second for now ability You see run pager has no dynamic memory allocation capabilities So each request is handled in a pre-allocated structure Without without up to three requests handled at the same time So if you send three consecutive requests, you can override the HTTP header structure, which we saw earlier This is also caused by an unprotected STL CPY So again, we can control over the EPC So can it be exploited? Well, theoretically you can blindly do a memory read of Memory addresses by changing the pointer of some HTTP header name But at the end I decided to leave this for an ability because it's only works on port 80 and We already have room zero for that. So moving on to over an ability number three so Rump edges support cookies because rump edges were as you remember does not have any a Dynamic memory allocation. It's holding an internal cookies array for each request without 10 cookies At the array and up to 40 bytes long each each cookie The cookie names are a constant. So it's C0 C9 C1 C2 up to C9 and The client this is an example of a client sending one of these cookies. You can see here the C0 cookie So let's take a look On the cookie handle to see how rump edges actually store the cookies So You can see here on the top the trump edges checks the cookie the cookie name for a capital C at the beginning If so, then it will convert the rest of the cookie name into an integer and Use this integer as an index for the cookie array Okay so Yeah, it will it will load it It will multiply s s3 which is the index by 40 and then use it as an destination for the strncpy Yep So here you can see more easily so Basically, this gives me an arbitrary memory right a right for from a relative a position in the rompager internal structure Which means we can pretty much control everything a rompager does So a very nice bonus is that we can overflow the 32-bit integer to get to a negative offsets in the structure So let's take a look on some on some on some non harmful a Cookie instead of C0 C1. We're sending this With the index is pointing exactly at the request request path field We can see that we can now set this path to anything we like and in this case We'll get this so we were able to overwrite the request path with our own input But this actually has far worse consequences So I'll need to mention this technique will work on any model on any brand that we had legal access to You see With the a few magic cookies added to your request you can bypass Authentication and browse the their configuration interface as admin from any port So to prove this insane claim, let's go straight to the demo Sorry no wait a sec. I'll fix it. Yes, we are ready. We are psyched next Yes Okay, so we actually have a video recorded and then we're gonna try the live demo We prayed to the demo gods earlier So hopefully things will work there as well. But first, let's look at the demo that will really I think explain the issue here, right So we enter the router it shows us, you know username password login We can also try to See what's available on 7547. Of course we get the object not found then we use our chrome plug-in Thank you Let's actually try this live and and really hope that it works. Let's see now We've got all right, so we get the authentication required. Oh You're not seeing yet wait a sec There you go Well, it's it's a bit small, but still so we're getting the authentication required we're gonna go to the Misfortune cookie auto-poner and Try that again See if it works. Hopefully it works It doesn't oh wait a sec wait a sec. We're gonna try that again No, it's like an internal thing. Don't worry about it. Oh, it doesn't matter what port we are Will this work? Yeah So again, you know This is You know this this is what we got at the store. This is brand-new. This is a device that was manufactured 2014. This is Very interesting Okay, so Back to our presentation We set up this nice website and it explains kind of the core issue here and then we try to see which countries were affected by this and You know again this vulnerability affects devices in a hundred and eighty nine countries all over the world and In some countries, this is Incredibly popular affecting up to 50% of the IP addresses in use in that country. I'm not joking. That's one out of every two IP addresses in that country are vulnerable to this and That's that's a few countries and certainly some big names in The country at least that you didn't expect to see there Yeah Smurf is happy about that as well. I Know what you're thinking. I have to turn this off on my device right now I should not have seven five four seven listening on my you know on my public IP address and As soon as you'll get home, you know, you'll enter your configuration interface and you'll find the CW MP settings You know and and you'll deactivate it and you hit save and It doesn't do anything because port seven five four seven is still open That's right.  I don't know so what can you do you can cancel your internet subscription? Of course, I mean the technical users. Hopefully that that's you guys you can flash alternative firmware So you have you know both DDWRT and open WRT which are which you just don't have rompager So you can take your chances on whatever they have there But it's not the you know the old version of rompager and you know, don't buy these models until they're fixed and The suspected vulnerable modelist is on the website and we occasionally update that All right, so so let's understand, you know, let's understand the supply chain here Allegro soft Provided rompager at one point to a certain chipset vendor and this chipset vendor implemented the TR69 functionality and bundled this into their SDK as a bonus feature Now this SDK was provided to Manufacturers who compiled their firmwares, you know for each product series and model and just to make it a bit more complicated The ISPs customize the firmware to include brand logos, you know default configurations and Deploy these versions to consumer devices So you can start to and you know understand this this incredibly Complex behind-the-scenes chain and think about what this means for security updates because the update propagation chain here is incredibly slow if not non-existent a Lego soft has to provide a fixed version to the chipset vendor Which then has to incorporate this into the SDK which has to be given to manufacturers We have to recompile firmwares for every product line and every product model which have to give it to ISPs We have to recompile it that you know to recompile the firmwares and the updated version using their customization and now this thing has to be deployed on every device this is a nightmare and You know in this in this case we can truly say that too many cooks do spoil the broth and Thank you You know, you know, this is the good case We're describing here because you know where your device is controlled by your ISP because if you just bought your home router off the shelf, you know, most people never upgrade the router firmware and You know, anyway, this this vulnerability will be here for months and years to come So vendor communication We contacted a Lego soft and all the major affected vendors We provided full description of the vulnerability and a non-harmful on the POC to trigger it You know, despite some broken English the message did guess and get through at least most of the time We have some patched firmware already out at least from from Huawei Who actually they were they were the best responders so far that very clear communication and you know Allegro soft release it's a statement saying that No, we can't force any vendor to upgrade to their to the latest version and we actually provided a patched version in 2005 so think about this if code from 2005 Still did not make it through the chain and we actually know it did not make it even one step into the chain Something is wrong here So just a few very frequently asked questions that we've been getting in the week that this is out, you know Is rampage are bad? No, you know, they were actually very responsive. They were security aware They caught this bug an internal code review. They just they just didn't know what it meant when we explained it to them They were I know that I heard the jaws drop over the phone line And you know, we just happened to research an old version of their software It's I think it's any code written 2002 might have been, you know Secured the same and you know, we don't think this is intentionally placed backdoor. It doesn't look like one We will not be sharing the exploit No, I'm sorry about that You know a lot of some cert bodies have approached me and and they're they're asking about, you know The IPs that are affected in their country and I'm saying, you know, you have to scan it yourself And and listen the numbers here are lying because some ISPs actually, you know Don't use the default here 69 board. They use something else. I mean at least we know that in Israel We use something else And when you scan in these boards, you get very different numbers So that's an important point to mention Short recap We found a pretty serious vulnerability in the most popular service exposed in IPv4 at least as far as we know do challenge us if you think otherwise and Hey industry fix this Thank you very much Well, thank you so much actually I have the honor to mediate a similar lecture this morning at 1130 by an Irish man who showed us that the switches that the main energy providers Actually, you can just download the image and upload it when you've patched it into the ROM This is a bit more complicated, but it's basically the same thing actually a maze scares the shit out of me It's you should be scared. Okay. We'll be taking questions. I can know oops la as you guys want to know so We'll do one two one two. Is that okay with you? Okay, here you go number one. Okay, so I'd like to know a bit more about the nervous because at home I have can you people please when you leave leave quietly Some people still want to listen. I'm sorry. Yeah, so I have that D-Link DSL 3 2 0 B which is in your list and it started to put into it because it's quite crap and It runs the Linux But it looks like before it runs the Linux it runs something else which has a drop there And I'd like to know if it matches the newest if it's some kind of pretty Linux OS How does it work? Okay? So first we don't know that device because we don't have access to every single device that we saw on the list Right, we didn't we didn't try to exploit everything on the internet only thing devices that we could have legal access to Would be I mean we would love to talk about this later And if you can share some details with us, then maybe we can look into this We don't have anything to add about this. I'm sorry. Yeah, just Is it maybe compatible that it's the device starts in OS which then starts Linux? Do you know? No, sorry. I don't know. Okay. We have the same this device. Thank God. Okay. Thank you There's somebody waiting at my too. Go ahead When you originally published this issue as misfortune cookie You recommended to home users to install zone alarm as a protective measure Could you explain how it's installing a personal firewall would protect me from router ponage? First of all, I can definitely explain how this helps if your router gets boned But it's definitely not what I want to talk about and We can we can talk about this later. Okay. Thank you Yes, more okay next question like one You mentioned the affected API address list for countries. Please can you have can we have some quiet please? You mentioned getting the list of the affected addresses for a country Just one request, please talk to the shadow server foundation because they have the Daily methods of scanning for exactly these kind of issues and signed all the list of affected peer-dresses to all National search all over the world. So I didn't get that the party shadow server foundation. We can talk later Okay, so talking later sure Yes, more okay, we'll stick to the mic. No, there is nobody is there somebody over there. Oh I come up front. Oh, do I look that scary? Do they look that scary? It's us. It's us. I mean to you folks Okay, go ahead. You you yeah Did you Thank you and speak into the mic, please. Yes Did you check cable modems because at least in Germany we are forced to use the modems we get by our providers and especially Models like the technique colors are very well known for horror exploits Like you can force them to reboot with a broken HTTP get Which is like kind of scary? Yeah, so we we didn't try to categorize according to you know cable or or DSL or whatever it is if it's on the suspected vulnerable model list then we saw it as You know as vulnerable as containing rampager 407. That's a very simple check to me Okay, because I'm just asking because I have no possibility to switch as long as I stick to this ISP So I understand that it's definitely a problem that we're seeing in other places worldwide and you know, this is a part of why we're doing this a part of why We're doing this publication. We think that this puts a very positive pressure on Many many vendors out there to fist to fix this as fast as possible I know we're we are seeing that that this process is being expedited So definitely in cases like this if this is vulnerable Please go and talk to your providers and tell them This is a very very serious security issue and you have to deal with this now. Okay. Thank you. Thank you Okay, hang on a minute We have question from the internet Because we've been streaming so can we have a question from the internet, please? Yes, there's a question. Have to try to Propone a G-SOP. If not, are you going to? We so now we did not try it It's definitely it's definitely a research direction. Anyone can take it up. We recommend that you do so Should I not do not a quest not we'll have one more question from the internet and then go back to Mike one and Wouldn't it be be possible to To use the exploit to exploit the water water and then update them To exploit the one sorry to exploit the water and then update them using the exploit Oh exploit the router and then and then upload. Yeah, okay, and then upload new firmware. Definitely Okay Mike one. I think was it. Yeah. Yep. Hi there. Yeah, very good talk. Thanks a lot. Thank you So obviously the vendors are going to take a very long time to fix this But is there any really legitimate use of this port seven four five four seven? Yes from outs. Yeah. Yeah, surely within the ISPs network But over the network, is there any real use for this? Is this something that ISPs could you know filter at their border for example? They use it all the time to do all sorts of monitoring and configuration issues So if you block your seven five four seven if you magically block it somehow, right? Because a lot of a lot of the times you don't even have this option But if you do block it then they won't be able to help you with anything They won't be able to see if anything's wrong with your device But is this something that ISPs can fix and stop the entire IP few more space from yeah I mean we released a protection whitepaper That's intended for providers, you know with some some good advice on how to solve this For example, just a real, you know a small taste of it You could use an internal IP range To to you know to have this the seven five four seven Listen on and then you don't really have to put it on the public when so that's I mean We're seeing some providers definitely do that and that's a very good direction for so okay great. Thanks. Okay. Thank you you queue up Mike number two you're go. Yeah, can we please have some peace you want to chat okay go outside If I can just respond to the previous question I'm working for an ISP and what you can actually do is just set an access list on those modems So only the legitimate I CS can reach those modems. That's the simplest thing you can do as an ISP Yeah, we're all I think we also mentioned that in the project and thank you for that Second question is are you aware of the research that was presented at? hacking the box Amsterdam 2013 in April because I think they are I hacked your modem. Yes. Yeah, because I think they actually hit the same buffer of flow there Same buffer over flow. No, it was a different version of a rompager in a zig-zool Rather, I think it's a it's a very we are kind of the same base. They're very different vulnerability. Okay. You checked Okay, just wanted to know. Okay. Thank you. Thank you move over to Mike one Talking to the mic cotton like I have to record you for the stream Have you looked into impact of what would happen if someone changed all the DNS setting to the ones that are to a fake DNS or Changed everyone's a society name and things like that or this generally played havoc of people's letters. Yeah, well, well, definitely That's kind of what we're seeing in the past few years Attackers doing in large, you know, high-profile router attacks They they changed the DNS settings and it's pretty much game over from there. So definitely That's also an opening for that You know, we really hope that attackers, you know, don't get a hold of this but It's definitely I think it will happen eventually Okay, thank you again. I have several questions. So first question, which is support in Israel so if I'm on holiday, maybe it's interesting and So what's your support in Israel? I'm sorry again the port for this thing. Oh the 40 Israel We could talk about that letter. I don't want to give out, you know Good details. Okay, and then the second thing is I have for example have a evil ISP who's gives me a fritz box Yeah, and the problem is that I cannot switch. I cannot get my access data and I cannot Own this thing because I would then need to need to have a high-speed modem to to go to the left side Where it is connected to the I think fiber fiber optic Thing that generates this coax cable DSL stuff where we are maybe 20 meters and so I need to do a sniffing device that goes there It's it's a real problem. I we can understand that it's definitely one of the things that make this issue so serious Okay, so how do I build a sniffing device? So it's a maybe a device that I can exploit and say, okay I take a buyer DSL modem and build a special sniffing and so maybe a double double modem device But then it's kind of you know, it's not gonna be for the mass markets No, but I want to hack my fritz box and then I know it and then it's better for me Then I can use something else. I guess there are a few people here at 31c3 that could help you build that thing okay, and Then with cable modems if you do it with cable modem, it would be much more fun because a cable is flat So even if I don't have Subscribed to a cable device I can just go into my flat have a cable outlet go to a flea market by cable modem I scan I scan the internet for some cable modem in the city and dump the memory put put the Access data of this person into my cable modem and I can have it for free How they catch me it's it's flat it's just passive Networks like like like that thing. I mean, yeah, we're seeing a lot of these You know a lot of these home router threats and it's definitely one one that we're also looking into And the cable modems right now. So hopefully for next to see. Okay, right? Okay, but we'll keep trying. Okay. Yes, Mike number one Yeah, is it correct that via tier 69 the providers can also change this default port So that they can send you a new configuration Yes And so they could on the very first provisioning of the box when I just connect to take it out and connect it to my DSL That I get immediately from the ACS a new port, which is not the default port anymore Very possible and actually being done. Okay, so then I would be vulnerable of course The other part right so, I mean, but we also recommended that some ISPs do that because at least you're gonna get away from the Apache opportunistic hackers that just scan the entire internet. Okay. I don't know who would do such a thing, but Maybe regarding your statistics, Germany was quite light colored Is it because you've scanned only that port or did you scan? We only scanned 7547 it's important to mention all of our numbers are based on 7547 if you know you go into the depth of each country of each ISP you can Potentially find a lot more vulnerable devices. Okay. Thank you much. Okay, and if anyone does this Please do share it with us Because you know, we might make this public and and help your provider fixes Okay, now you all people know that if you want to go back and look at this talk You'll find out on the internet in our stream archive just before you get panic number two, please Okay, I didn't quite get how the protocol actually works. It's the listening why so listening service on the clients that actually required because you said every Communication is initiated by the client and why yeah, well first of all You understand that this vulnerability has almost nothing to do with TR 69 doesn't have anything to do with the protocol it's just a web server that's listening on this port because of TR 69 and So just mentioning again what I said at the beginning that This is a connection request port with the ACS consent connection requests to Which the client immediately follows by you know making a new connection and a real provisioning session Okay, that's okay. Yeah, and this is you know XML over HTTP. So this is an HTTP server Okay, before they shut down the internet, there is this question. Yes from the internet Yes, what is with the newer versions? Are they really fixed? the new versions are have been fixed we Some some vendors have provided us with you know beta versions of firmware of fixed firmware and they actually fixed it right, I mean at least as we see it they're checking it correctly and they fixed the buffer overflows and You know just patched it actually on ROM pager 407 they just patched these vulnerabilities. So there might be more things there and also just an interesting point here that would make it a bit difficult to understand if A device is now still vulnerable because the server header is still going to be 4.07 and then you'd have to find like a different way of figuring out if this is vulnerable Yes, okay, some more no child. Yes, we answer all questions. There are more questions How about IP for six to IP for six devices using dual stack light? I'm sorry. I didn't get the question How about how about IP for six devices using dual stack light? Dual stack. Oh, I'd we did not look into that at all. Sorry Okay, was they all that was it? Anybody else a question? You guys want to ask a question? No, okay. Well, then let's have one big final hand